login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Snippets > Resultaat horizontaal weergeven in tabel

Resultaat horizontaal weergeven in tabel

Auteur: Joost - 09 mei 2009 - 16:59 - Gekeurd door: Koen - Hits: 3028 - Aantal punten: 5.00 (1 stem)





Met dit script kan je, via alle loops, je array/resultaat van een mysql query/... weergeven in een tabel.
Ze zullen dan horizontaal worden weergegeven, en niet, zoals 'normaal', verticaal.
Het script werkt alsvolgt:

- Wanneer de loop begint, wordt er een rij aangemaakt.
- Er worden zoveel cellen weergegeven als jij instelt.
- Wanneer dat aantal is bereikt, wordt er een nieuwe rij aangemaakt.
- Wanneer de loop is afgelopen, en de laatste rij heeft nog niet genoeg cellen, worden er nog wat extra lege cellen aangemaakt.

Het script is naar aanleiding van het volgende topic: Klik


Code:
  1. <?php
  2.  
  3. /* Query */
  4. $sql = mysql_query("...");
  5.  
  6. /* Hoeveel cellen maximaal naast elkaar */
  7. $iMax = 4;
  8.  
  9. /* Initieer de teller */
  10. $iCount = 0;
  11.  
  12. /* Geef begin van tabel weer */
  13. echo "<table>";
  14.  
  15. /* Fetch je MySQL Resultaat. Je kan hier ook met foreach en een array werken, of met andere loops. */
  16. while($aRes = mysql_fetch_assoc($sql)){
  17.  
  18. /* Staat de teller op nul, dan maken we een nieuwe rij aan */
  19. if($iCount == 0){
  20. echo "<tr>";
  21. }
  22. /* Geef de cel weer */
  23. echo "<td>".$aRes['kolom']."</td>";
  24.  
  25. /* Staat de teller op ($iMax - 1), dan moeten we een rij afsluiten. */
  26. if($iCount == ($iMax - 1)){
  27. echo "</tr>";
  28. /* Zet de teller op -1 */
  29. $iCount = -1;
  30. }
  31. /* Verhoog de teller met 1. Wanneer het op -1 stond, wordt het 0. Dan wordt er dus weer een nieuwe rij aangemaakt! */
  32. $iCount++;
  33. }
  34.  
  35. /* Wanneer de laatste rij nog niet helemaal vol is, vullen we deze uit en sluiten we hem af */
  36. if($iCount != 0){
  37. /* Maak de benodigde cellen aan met lege inhoud */
  38. for(; $iCount < $iMax; $iCount++){
  39. echo "<td>&nbsp;</td>";
  40. }
  41. /* Sluit de rij af */
  42. echo "</tr>";
  43. }
  44. echo "</table>";


Voorbeeldoutput (met 10 rijen in de database):
  1. <tr>
  2. <td>
  3. 54
  4. </td>
  5. <td>
  6. 55
  7. </td>
  8. <td>
  9. 56
  10. </td>
  11. <td>
  12. 57
  13. </td>
  14. </tr>
  15. <tr>
  16. <td>
  17. 58
  18. </td>
  19. <td>
  20. 59
  21. </td>
  22. <td>
  23. 60
  24. </td>
  25. <td>
  26. 61
  27. </td>
  28. </tr>
  29. <tr>
  30. <td>
  31. 62
  32. </td>
  33. <td>
  34. 63
  35. </td>
  36. <td>
  37. &nbsp;
  38. </td>
  39. <td>
  40. &nbsp;
  41. </td>
  42. </tr>

Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Geen reacties (0)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.027s