login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Loop probleem (Opgelost)

Offline tycoon - 17/04/2009 10:37 (laatste wijziging 17/04/2009 10:38)
Avatar van tycoonNieuw lid Hallo Allemaal,

Ik wil de resultaten in een loop printen en dat
er om het resultaat een andere achtergrond wordt weergegeven.
Zodat je overzichtelijk de resultaten kunt zien.
Nu print die alle resultaten, maar print het script elk
resultaat meerdere malen en dat moet niet, elke resultaat moet een
keer worden weergeven.
Ziet iemand het probleem in onderstaande code?

Alvast bedankt voor het kijken!

  1. <?php
  2.  
  3.  
  4. $query = "SELECT * FROM Orders ORDER BY Order_ID ASC";
  5. $results = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
  6.  
  7. $count = mysql_num_rows(mysql_query($query)); //Count de resultaten van de query
  8.  
  9. //$i = 0;
  10. $num = $count;
  11.  
  12. echo $count;
  13.  
  14. while ($gegevens = mysql_fetch_object($results))
  15. {
  16. $orderNaam = $gegevens->OrderNaam;
  17.  
  18. // define and start loop
  19. for($i=0;$i<$num;$i++)
  20. {
  21. // if row number is even use first color, if it is odd use the second
  22. if($i % 2 ==0)
  23. {
  24. $class='';
  25. }
  26. else
  27. {
  28. $class='class="on"';
  29. }
  30.  
  31. // output the table row with the correct background color
  32. print('<li '.$class.'>'.$orderNaam.' </li>');
  33.  
  34. // close loop
  35. }
  36. }
  37. ?>

4 antwoorden

Gesponsorde links
Offline Ultimatum - 17/04/2009 10:39 (laatste wijziging 17/04/2009 10:43)
Avatar van Ultimatum PHP expert Kan je even code tags om je code heenplaatsen? En ik dat dat het komt omdat je een for in een while loop hebt. Zal even kijken of ik een andere oplossing voor je heb.

Edit: je was me voor met codetags ;)

Werkt het op deze manier niet? mysql_fetch_object vervangen door mysql_fetch_assoc, is beter om geen mysql_fetch_object te gebruiken is mij verteld, maar je kan het altijd weer terug veranderen .

  1. <?php
  2. $query = "SELECT * FROM Orders ORDER BY Order_ID ASC";
  3. $results = mysql_query($query) or die ("Error in query: $query. ".mysql_error());
  4.  
  5. $i = 0;
  6. while ($gegevens = mysql_fetch_assoc($results))
  7. {
  8. $orderNaam = $gegevens['OrderNaam'];
  9.  
  10. // if row number is even use first color, if it is odd use the second
  11. if($i++ % 2 ==0)
  12. {
  13. $class='';
  14. }
  15. else
  16. {
  17. $class='class="on"';
  18. }
  19.  
  20. // output the table row with the correct background color
  21. print('<li '.$class.'>'.$orderNaam.' </li>');
  22. }
  23. ?>
Offline tycoon - 17/04/2009 10:41 (laatste wijziging 17/04/2009 10:48)
Avatar van tycoon Nieuw lid Klopt, zag het namelijk ook dat ik de codetags was vergeten  

Citaat:
Bedankt, het werkt nu perfect! Je had gelijk mysql_fetch_object vervangen door mysql_fetch_assoc is de oplossing.
Heb ik er weer wat bijgeleerd  

Nogmaals bedankt voor de oplossing en het tijd nemen hiervoor.
Offline Ultimatum - 17/04/2009 10:49
Avatar van Ultimatum PHP expert Dat was niet het enige hé. Heb ook de loop verwijderd zodat niet alles 2x werd weergegeven 
Offline tycoon - 17/04/2009 10:52
Avatar van tycoon Nieuw lid Klopt zie het nu  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s