login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Om en om een andere kleur

Offline Jeroen - 20/01/2005 17:45 (laatste wijziging 20/01/2005 18:45)
Avatar van JeroenOnbekend
Citaat:
Heej,

Ik heb een stukje code, maar hij laat niets zien terwijl er wel iets in de database staat.

Done

[..code..]


Ik heb dus mijn code, en ik wil de eerste als achtergrond kleur: #ccc. De tweede wil ik als achtergrond kleur: #fff. En de derde weer: #ccc. Maar hoe doe ik dit?

11 antwoorden

Gesponsorde links
Offline Joel - 20/01/2005 17:48 (laatste wijziging 20/01/2005 17:48)
Avatar van Joel Eigenaar Als je de functie mysql_fetch_assoc() gebruikt dan werk je met arrays en niet met objecten.

$obj->gebruikersnaam moet dus worden $arr['gebruikersnaam'] en $obj = mysql_fetch_assoc moet worden $arr = mysql_fetch_assoc.

Zie ook: http://www.site...amp;cat=20
Offline Jeroen - 20/01/2005 18:22 (laatste wijziging 20/01/2005 18:22)
Avatar van Jeroen Onbekend Raar, ik heb je wijze raad opgevolgt maar laat nog steeds niets zien.

  1. <?php
  2. //-----------------------------------------------------------------
  3. // Door: Jeroen Brouwer
  4. // Op: Woensdag 5 januari 2005
  5. // Pagina: inloggen
  6. //-----------------------------------------------------------------
  7.  
  8. include ( '../include/config.inc.php' ) ;
  9. include ( '../include/functies.inc.php' ) ;
  10.  
  11. $sql = mysql_query ( ' SELECT * FROM leden ORDER by id DESC ' ) ;
  12.  
  13. while ( $arr = mysql_fetch_assoc ( $sql ) )
  14.  
  15. {
  16. echo "<table>
  17. <tr>
  18. <td>' " . $arr[ 'gebruikersnaam' ] . " '</td>
  19. </tr>
  20. </table>";
  21. }
  22. ?>
Offline Maarten - 20/01/2005 18:29
Avatar van Maarten Erelid zet er eens error_reporting(E_ALL); boven...
Offline Jeroen - 20/01/2005 18:31 (laatste wijziging 20/01/2005 18:40)
Avatar van Jeroen Onbekend Ok hij doet het, nu de volgende vraag:

Ik heb dus mijn code, en ik wil de eerste als achtergrond kleur: #ccc. De tweede wil ik als achtergrond kleur: #fff. En de derde weer: #ccc. Maar hoe doe ik dit?

  1. <?php
  2.  
  3.  
  4. //-----------------------------------------------------------------
  5. // Door: Jeroen Brouwer
  6. // Op: Woensdag 5 januari 2005
  7. // Pagina: inloggen
  8. //-----------------------------------------------------------------
  9.  
  10. include ( '../includes/config.inc.php' ) ;
  11. include ( '../includes/functies.inc.php' ) ;
  12.  
  13. $sql = mysql_query ( ' SELECT * FROM leden ORDER by id DESC ' ) ;
  14.  
  15. while ( $arr = mysql_fetch_assoc ( $sql ) )
  16.  
  17. {
  18. echo "<table>
  19. <tr>
  20. <td>" . $arr[ 'gebruikersnaam' ] . "</td>
  21. </tr>
  22. </table>";
  23. }
  24. ?>
Offline Tuinstoel - 20/01/2005 18:45 (laatste wijziging 20/01/2005 18:48)
Avatar van Tuinstoel PHP expert 1) while zal niet nodig zijn als ID auto increment is indien er op ID geselecteerd word d.m.v where (Edit )
2) SELECT * is ook niet nodig als je alleen `gebruikersnaam` hebt.
3) Overal extra spatie's zal het niet duidelijker maken.
4) HTML hoef je niet per cee te echoën.

Hoop dat je er wat aan hebt ;)

Edit:

Oké, je zet boven je sql $i = 0;
Dan doe je als je toch een while loop gebruikt deze code:
  1. <? $kleur = ($i++ % 2) ? 'kleur 1' : 'kleur 2'; ?>

En dan doe je bij de kolom <td bgcolor="<?= $kleur; ?>"> en je krijgt de gewenste kleur.
Offline numlockrond - 20/01/2005 18:47 (laatste wijziging 20/01/2005 18:48)
Avatar van numlockrond Onbekend
Citaat:
1) while zal niet nodig zijn als ID auto increment is
 :?: 

Hij wil toch gewoon alle records laten zien...
Offline Tuinstoel - 20/01/2005 18:49
Avatar van Tuinstoel PHP expert Bwah ik heb niet goed gekeken, maar zie m'n edit .

Als je bijv. als query dit gebruikt:
  1. SELECT `ding` FROM `tabel` WHERE `id` = 3

Hoef je geen while loop te gebruiken omdat id hoogstwaarschijnlijk op auto_increment staat ingesteld, dus je hoeft dan maar 1 rij op te vragen door gewoon $row = mysql_fetch_assoc($sql); te doen zonder while() eromheen.
Offline Jeroen - 20/01/2005 20:55 (laatste wijziging 20/01/2005 21:04)
Avatar van Jeroen Onbekend Raar, hij doet het niet. Hij laat alleen maar de witte zien. Geen errors!
http://www.real...eden/lijst

De code:

  1. <?php
  2.  
  3.  
  4. //-----------------------------------------------------------------
  5. // Door: Jeroen Brouwer
  6. // Op: Woensdag 5 januari 2005
  7. // Pagina: ledenlijst
  8. //-----------------------------------------------------------------
  9.  
  10. include ( '../includes/config.inc.php' ) ;
  11. include ( '../includes/functies.inc.php' ) ;
  12.  
  13. $i = 0;
  14.  
  15. $kleur = ( $i++ % 2) ? ' "#cccccc" ' : ' "#ffffff" ';
  16.  
  17. $sql = mysql_query ( ' SELECT * FROM leden ORDER by id DESC ' ) ;
  18.  
  19. while ( $arr = mysql_fetch_assoc ( $sql ) )
  20.  
  21. {
  22. echo "<table>
  23. <tr>
  24. <td bgcolor=". $kleur .">" . $arr[ 'gebruikersnaam' ] . "</td>
  25. </tr>
  26. </table>
  27. ";
  28. }
  29. ?>
Offline Maarten - 20/01/2005 21:06 (laatste wijziging 20/01/2005 21:07)
Avatar van Maarten Erelid $kleur = ( $i++ % 2) ? ' "#cccccc" ' : ' "#ffffff" ';

dat moet dan ook BINNEN de while-loop.

  1. <?php
  2.  
  3.  
  4. //-----------------------------------------------------------------
  5. // Door: Jeroen Brouwer
  6. // Op: Woensdag 5 januari 2005
  7. // Pagina: ledenlijst
  8. //-----------------------------------------------------------------
  9.  
  10. include ( '../includes/config.inc.php' ) ;
  11. include ( '../includes/functies.inc.php' ) ;
  12.  
  13. $i = 0;
  14.  
  15. $sql = mysql_query ( ' SELECT * FROM leden ORDER by id DESC ' ) ;
  16.  
  17. while ( $arr = mysql_fetch_assoc ( $sql ) )
  18.  
  19. {
  20. $kleur = ( $i++ % 2) ? ' "#cccccc" ' : ' "#ffffff" ';
  21. echo "<table>
  22. <tr>
  23. <td bgcolor=". $kleur .">" . $arr[ 'gebruikersnaam' ] . "</td>
  24. </tr>
  25. </table>
  26. ";
  27. }
  28. ?>
Offline Jeroen - 20/01/2005 21:10
Avatar van Jeroen Onbekend heej, dank je! Schaam schaam 
Offline numlockrond - 20/01/2005 21:10 (laatste wijziging 20/01/2005 21:13)
Avatar van numlockrond Onbekend
Citaat:
Als je bijv. als query dit gebruikt:
SELECT `ding` FROM `tabel` WHERE `id` = 3
Hoef je geen while loop te gebruiken omdat id hoogstwaarschijnlijk op auto_increment staat ingesteld, dus je hoeft dan maar 1 rij op te vragen door gewoon $row = mysql_fetch_assoc($sql); te doen zonder while() eromheen.
Maar hij haalt alle leden op, gesorteerd op id. Je zal wel weer niet goed gekeken hebben 

$kleur = ( $i % 2) ? '#cccccc' : '#ffffff'; is een verkort if statement. Je kunt het ook zo schrijven:
  1. <?php
  2.  
  3. /* dit geeft de rest van $i gedeeld door 2, dit geeft altijd 1 of 0
  4. 1 herkend PHP als TRUE en 0 als FALSE,
  5. zo krijg je dus elke keer een andere kleur */
  6. if($i % 2){
  7.  
  8. $kleur = '#cccccc';
  9.  
  10. }else{
  11.  
  12. $kleur = '#ffffff';
  13.  
  14. }
  15.  
  16. ?>


Edit: te laat... Alleen uitleg voor if statement mag blijven 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.288s