login  Naam:   Wachtwoord: 
Registreer je!
 Forum

HTML tabel genereren Vanuit DB

Offline erm - 02/10/2007 15:06 (laatste wijziging 03/10/2007 10:34)
Avatar van ermLid Hallo mensen,

Ik kamp met een probleem om mijn html tabel te genereren.

Voordat ik deze bericht van plan was te posten had ik eerst grondig de tutorial doorgelezen op de site "HTML Tabel bouwen met PhP".

Deze tabel is is anders, ik wil namelijk vanuit me db een tabel gaan genereren met 2 rijien en twee kolummen.

Dit is de HTML versie hoe ik me tabel wil hebben.
  1. <table width="595" height="209" align="center" cellpadding="2" cellspacing="2" style= " border:1px #009999 solid ; ">
  2. <tr bgcolor="#F9F9FF" >
  3. <td width="297" height="59" align="left" valign="top" onmouseover="javascript:showObject();" onmouseout="hideObject();" ><span class="style17"><img src="http://g.autorola.nl/g/nl_NL/he/logo_w320.gif" width="217" height="54" alt="s" />
  4. </td>
  5. <td width="282" align="left" valign="top" onmouseover="javascript:showObject();" onmouseout="hideObject();" ><span class="style17"><img src="http://g.autorola.nl/g/nl_NL/he/logo_w320.gif" width="217" height="54" alt="s" /></span></td>
  6. </tr>
  7.  
  8. <tr bgcolor="#F3F3F3">
  9.  
  10. <td align="left" valign="top"><p class="style15">Autorola</p>
  11. <span class="style9">Beschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shop</span></td>
  12.  
  13.  
  14.  
  15. <td align="left" valign="top"><p class="style15">Autorola</p>
  16. <span class="style9">Beschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shop</span></td>
  17.  
  18.  
  19. </tr>
  20.  
  21.  
  22.  
  23. </table>



Ik wil dus gewoon telkens de tabel opnieuw genereren met de 2 rijien en 2 kolummen.


Ik ben al ver gekomen, na uren alles proberen:).


Maar nu zit ik met de allerlaatste probleem.


Als de tabel oneven is word het niet correct gezien..

  1. <?php
  2. # de query van de db
  3. $RQ = mysql_query("SELECT * FROM merchant") or die (mysql_error());
  4. #aantal trs escapen
  5. $aantal_kol = 2;
  6. #loop door de db
  7. while($RR = mysql_fetch_assoc($RQ)) {
  8. $teller++;
  9. #begin de TR en de tabel voor rij 1
  10. if($teller !=2) {
  11. print "<table width='595' height='209' align='center' cellpadding='2' cellspacing='2' style= ' border:1px #009999 solid ; '>";
  12. print '<tr>';
  13. }
  14.  
  15.  
  16. # begin hieronder Rij2
  17. ?>
  18.  
  19.  
  20. <td width="297" height="59" align="left" valign="top" onmouseover="javascript:showObject();" onmouseout="hideObject();" ><span class="style17"><img src="http://g.autorola.nl/g/nl_NL/he/logo_w320.gif" width="217" height="54" alt="s" /> <?php print $RR['naam']; ?>
  21. </td>
  22.  
  23. <?php
  24. # als er 2 cols zijn sluit af
  25. if($teller == $aantal_kol) {
  26. print '</tr><tr bgcolor="#F3F3F3">';
  27.  
  28. for($i=0; $i < $teller; $i++) {
  29. print "<td align='left' valign='top'><p class='style15'>Autorola</p>
  30. <span class='style9'>Beschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shopBeschrijving van de shop</span></td>
  31. ";
  32.  
  33. }
  34.  
  35. #zet de teller opnieuw en begin opniew te tellen
  36. $teller = 0;
  37. } ?>
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. <?php }?> </table>





Bedankt voor jullie hulp!!!!

2 antwoorden

Gesponsorde links
Offline Stefan14 - 03/10/2007 11:58
Avatar van Stefan14 PHP gevorderde je begint voor ieder record een nieuwe tabel, weet je zeker dat dit klopt, volgens mij moet je deze buiten je while plaatsen.

ik weet niet precies wat je bedoelt met 'oneven', maar neem aan dat je hiermee bedoelt dat je in de knoei komt als je een oneven aantal records hebt en dus er bij het laatste record geen tweede kolom wordt gemaakt.

Dat is simpel op te lossen door in je for loop een extra teller in te bouwen en na je for loop, maar in de if statement een if statement die controleert of die extra teller in je for loop 2 bereikt heeft of niet, zo niet, dan nog een extra kolom maken.

daarnaast nog 2 kleine opmerkingen:
print is een tikkeltje trager dan echo
kan # als commentaar teken? normaalgesproken gebruik je hier // voor.
Offline erm - 03/10/2007 14:24
Avatar van erm Lid bedankt voor je hulp .


Maar nu kamp ik weer met het volgende probleem  .

  1. # de query van de db
  2. $RQ = mysql_query("SELECT * FROM merchant LIMIT 0,".$Limiter."") or die (mysql_error());
  3. #aantal trs escapen
  4. $aantal_kol = 2;
  5. #loop door de db
  6. while($RR = mysql_fetch_assoc($RQ)) {
  7.  
  8. $teller++;
  9. #begin de TR en de tabel voor rij 1
  10. if($teller !=2) {
  11. print "
  12.  
  13. <tr>";
  14. }
  15. # begin hieronder Rij2
  16. ?>
  17. <td width="297" height="59" align="left" valign="top" onmouseover="javascript:showObject();" onmouseout="hideObject();" ><img src="<?php echo $Url."images";?>/<?php echo $RR['image']; ?>" width="280" height="54" class="img" />
  18. </td>
  19. <?php
  20.  
  21. # als er 2 cols zijn sluit af
  22. if($teller == $aantal_kol) {
  23. echo '</tr><tr bgcolor="#F3F3F3">';
  24. for($x = 0; $x < $teller; $x++ ) {
  25.  
  26.  
  27. echo '<td> '.$RR['omschrijving'].' </td>';
  28. if($x == $teller) {
  29. echo '</tr>';
  30. }
  31. }
  32.  
  33. $teller = 0;
  34. }
  35. }
  36.  
  37. ?>
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. </table>


Bij

  1. echo '<td> '.$RR['omschrijving'].' </td>';



print hij dus nu aan allbei de kanten dezelfde content. Echt raar want de afbeelding is print niet aan dezelfde content hetzelfde.

Voorbeeldje waarmee ik nu zit

[tabel] [tabel]
[afbeelding1] [afbeelding2] Dat gaat dus goed
[content1] [content1] Hier gaat het fout content1 word aan allebei de kanten geprint dat moet niet.

Wat doe ik fout ?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s