login  Naam:   Wachtwoord: 
Registreer je!
 Forum

kolommen in while

Offline Stefan14 - 23/06/2006 02:58
Avatar van Stefan14PHP gevorderde ik heb een while loop, en ik zou graag willen dat hij de resultaten daarvan in 2 kolommen weergeeft, uiteraard een beetje evenwichtig, daarom heb ik geteld hoeveel rijen hij geeft, en dat gedeeld door 2.

toen heb ik geprobeerd in de while loop te maken dat wanneer hij die helft bereikt dat hij dan een volgende kolom maakt, maar dat is nog niet gelukt.

dit is de code
  1. <DIV STYLE="overflow-y: scroll; overflow-x: no; height: 260; width: 100%">
  2. <table>
  3. <tr><td>
  4. <table class="Tabel" align="center">
  5. <tr>
  6. <td>
  7. <?php
  8. $query1 = "SELECT * FROM gebeurtenissen";
  9. $result1 = mysql_query($query1);
  10. $aantal = mysql_num_rows($result1);
  11. $aantalhelft = ceil($aantal/2);
  12.  
  13. while ($row1 = mysql_fetch_array($result1))
  14. {
  15. $i++;
  16.  
  17. if ($bgcolor == $kleur1)
  18. {
  19. $bgcolor = $kleur2;
  20. }
  21. else
  22. {
  23. $bgcolor = $kleur1;
  24. }
  25. if ($i == $aantalhelft)
  26. {
  27. echo('</td><td>');
  28. }
  29.  
  30. echo('<tr bgcolor='.$bgcolor.' width="100%">
  31. <td width="100%">'.$row1['gebeurtenisnaam'].'</td>
  32. <td><a href="?page=wijziggebeurtenis&id='.$row1['id'].'"><img src="admin/images/edit.png" width="15" height="15" border="0"></a></td>
  33. <td><a href="?page=deletegebeurtenis&id='.$row1['id'].'"><img src="admin/images/delete.png" width="15" height="15" border="0"></a>'.$i.'</td>
  34. </tr>');
  35. }
  36. ?>
  37. </td></tr></table>
  38. </td></tr>
  39. </table>
  40. </DIV>

7 antwoorden

Gesponsorde links
Offline BigBug - 23/06/2006 07:18
Avatar van BigBug PHP expert Je moet je if met checks buiten je while(); loop halen. Anders begint die actie elke keer opnieuw en krijg je elke keer hetzelfde restultaat omdat oude gegevens niet worden opgelsagen maar overschreven
Offline Stefan14 - 23/06/2006 09:37 (laatste wijziging 23/06/2006 09:38)
Avatar van Stefan14 PHP gevorderde ik heb de if nu boven de while gezet, maar het resultaat blijft hetzelfde, doe ik het dan verkeerd of moet het gewoon anders?

  1. <?php
  2. if ($i == $aantalhelft)
  3. {
  4. echo('</td><td>');
  5. }
  6. while ($row1 = mysql_fetch_array($result1))
  7. {
  8. $i++;
  9. ?>


ook heb ik het volgende al geprobeerd
  1. <?php
  2. if ($i == $aantalhelft)
  3. {
  4. echo('</td></tr>');
  5. echo('</table>');
  6. echo('<table>');
  7. echo('<tr><td>');
  8. }
  9. while ($row1 = mysql_fetch_array($result1))
  10. {
  11. $i++;
  12. ?>
Offline marten - 23/06/2006 10:05
Avatar van marten Beheerder Probeer eens zo:

  1. <?php
  2. $Tra[0] = "<tr>";
  3. $Tra[1] = "";
  4. $Trb[0] = "";
  5. $Trb[1] = "</tr>";
  6. $table = 0;
  7. $result = '<table>';
  8.  
  9. while ($row1 = mysql_fetch_array($result1)) {
  10. $result .= $Tra[$table] ."
  11. <td><a href="?page=wijziggebeurtenis&id='.$row1['id'].'"><img src="admin/images/edit.png" width="15" height="15" border="0"></a></td>
  12. <td><a href="?page=deletegebeurtenis&id='.$row1['id'].'"><img src="admin/images/delete.png" width="15" height="15" border="0"></a>'.$i.'</td>
  13.  
  14. " . $Trb[$table];
  15.  
  16. $table=($table+1)%2;
  17. }
  18. $result .= '</table>';
  19.  
  20.  
  21. ?>
Offline Thomas - 23/06/2006 10:11 (laatste wijziging 23/06/2006 10:23)
Avatar van Thomas Moderator Items gelijk over kolommen verdelen.

> oplossing.

Voor rijen: zie tutorial.

Ik zal de kolom-variant eens toevoegen.

EDIT: Hmm, klopt nog niet helemaal .
Offline marten - 23/06/2006 10:24
Avatar van marten Beheerder Ik gebruik het script zoals hierboven van mij en het werkt goed zal gerust beter kunnen 
Offline Thomas - 23/06/2006 10:39 (laatste wijziging 23/06/2006 10:49)
Avatar van Thomas Moderator Hmm, als je rij + (kolom+1) * aantal_kolommen - 1 doet, dan klopt het volgens mij .

EDIT: LOL er klopt nog geen biet van, ik kijk hier nog wel een x naar .
Offline Stefan14 - 23/06/2006 10:45
Avatar van Stefan14 PHP gevorderde ik heb er met heel wat proberen het volgende van gemaakt, en dit werkt prima
  1. <?php
  2. <table>
  3. <tr><td>
  4. <table width="100%">
  5. <tr><td valign="top">
  6. <table class="Tabel" align="center">
  7. <tr>
  8. <td>
  9. <?php
  10. $query1 = "SELECT * FROM gebeurtenissen";
  11. $result1 = mysql_query($query1);
  12. $aantal = mysql_num_rows($result1);
  13. $aantalhelft = ceil($aantal/2);
  14.  
  15. while ($row1 = mysql_fetch_array($result1))
  16. {
  17. $i = $i+1;
  18.  
  19. if ($bgcolor == $kleur1)
  20. {
  21. $bgcolor = $kleur2;
  22. }
  23. else
  24. {
  25. $bgcolor = $kleur1;
  26. }
  27. if ($i == $aantalhelft+1)
  28. {
  29. echo('</td><td>');
  30. echo('</table>');
  31. echo('</td><td valign="top">');
  32. echo('<table class="Tabel align="center">');
  33. echo('<tr><td>');
  34. }
  35.  
  36. echo('<tr bgcolor='.$bgcolor.' width="100%">
  37. <td width="100%">'.$row1['gebeurtenisnaam'].'</td>
  38. <td><a href="?page=wijziggebeurtenis&id='.$row1['id'].'"><img src="admin/images/edit.png" width="15" height="15" border="0"></a></td>
  39. <td><a href="?page=deletegebeurtenis&id='.$row1['id'].'"><img src="admin/images/delete.png" width="15" height="15" border="0"></a>'.$i.'</td>
  40. </tr>');
  41. }
  42. ?>
  43. </td></tr></table>
  44. </td></tr></table>
  45. </td></tr></table>
  46. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.234s