login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout in WHILE lus?

Offline Frederic - 20/02/2005 13:38
Avatar van FredericPHP ver gevorderde Ik heb verschillende rijen in de database zitten, maar als ik volgend script uitvoer wordt er slechts 1 rij getoont (de laatste nieuwe):
  1. <table width="519">
  2. <tr bgcolor="#0000CC">
  3. <td valign=top class="normaal-tabel">&nbsp;</td>
  4. <td valign=top class="normaal-tabel">Datum</td>
  5. <td valign=top class="normaal-tabel">Titel</td>
  6. <td valign=top class="normaal-tabel">Reacties</td>
  7. </tr>
  8. <?php
  9. $sql = "SELECT * FROM de_tabel ORDER BY id DESC";
  10. $resultaat = mysql_query($sql) or die ("Het is mislukt");
  11. while ($rij = mysql_fetch_object($resultaat)){
  12. $kleur = ($kleur == "#0000FF" ? "#0000CC": "#0000FF");
  13. $columnid = htmlspecialchars($rij->id);
  14. $titel = htmlspecialchars($rij->titel);
  15. $datum = htmlspecialchars($rij->datum);
  16. $tijd = htmlspecialchars($rij->tijd);
  17. ?>
  18. <tr>
  19. <td class="normaal-tabel" bgcolor="<?php echo $kleur ?>" width=19 valign=top>&nbsp;</td>
  20. <td width="102" valign=top bgcolor="<?php echo $kleur ?>" class="normaal-tabel"><?php echo $datum; ?></td>
  21. <td width="275" valign=top bgcolor="<?php echo $kleur ?>" class="normaal-tabel"><?php echo $titel ?></td>
  22. <td width="103" valign=top bgcolor="<?php echo $kleur ?>" class="normaal-tabel">
  23. <?php $sql_reactie = "SELECT COUNT(`id`) FROM de_tabel_reacties WHERE columnid='$columnid'";
  24. $resultaat_reactie = mysql_query($sql_reactie) or die ("Het is mislukt");
  25. while ($rij_reactie = mysql_fetch_object($resultaat_reactie)){
  26. $reacties_tellen = mysql_num_rows($rij_reactie);
  27. echo $reacties_tellen ;
  28. ?>
  29. </td>
  30. </tr>
  31. <?php } ?>
  32. <?php } ?>
  33. </table>

Ik heb de afsluit } al op iedere plaats geprobeerd 

18 antwoorden

Gesponsorde links
Offline zwobbel - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van zwobbel PHP gevorderde Probeer eens rnphprn$sql = SELECT FROM de_tabel ORDER BY id DESC; rn$resultaat = mysql_query($sql) or die (Het is mislukt); rnwhile ($rij = mysql_fetch_assoc($resultaat)){rn$kleur = ($kleur == #0000FF #0000CC #0000FF);rn$columnid = htmlspecialchars($rij[id]);rn$titel = htmlspecialchars($rij[titel]);rn$datum = htmlspecialchars($rij[datum]);rn$tijd = htmlspecialchars($rij[tijd]);rnrnrnWat doet hij danrnEDITrnWaarom haal je de id in een htmlspecialcharrnDe id vermoed ik is toch doro de database zelf ingegeven niet!
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde Nope, nog steeds 1 rij s Ik snap het echt niet
Offline zwobbel - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van zwobbel PHP gevorderde Strange zijde zeker dat er meer in de database zit p rnrn10min geduld ik ga u script eens opknappen!rn[b]EDIT[b]rnVoila vervang alles is ne keer met ditrn[code]rntable width=519rn tr bgcolor=#0000CCrn td valign=top class=normaal-tabel&nbsp;tdrn td valign=top class=normaal-tabelDatumtdrn td valign=top class=normaal-tabelTiteltdrn td valign=top class=normaal-tabelReactiestdrn trrnphprn$Data_SQL = mysql_query(SELECT `` FROM `de_tabel` ORDER BY `id` DESC) or die (Het is mislukt); rnwhile ($rij = mysql_fetch_assoc($Data_SQL)){rnrn$kleur = ($i++ % 2) #0000FF #0000CC;rnrn trrn td class=normaal-tabel bgcolor=php echo $kleur; width=19 valign=top&nbsp;tdrn td width=102 valign=top bgcolor=php echo $kleur; class=normaal-tabelphp echo htmlspecialchars($rij[datum]); tdrn td width=275 valign=top bgcolor=php echo $kleur; class=normaal-tabelphp echo htmlspecialchars($rij[titel]); tdrn td width=103 valign=top bgcolor=php echo $kleur; class=normaal-tabelrnphp rn$SQL = mysql_query(SELECT COUNT(`id`) FROM `de_tabel_reacties` WHERE `columnid` = ' .$rij[id]. ' ) or die (Het is mislukt); rnecho mysql_num_rows($SQL);rnrn tdrn trrnphp rn}rnrntablern[code]
Offline Frederic - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Frederic PHP ver gevorderde Ok, in de_tabel_reacties zit niks, maar geeft die dan normaal niet gewoon 0rnSource bekekenrnhet eindigt met rnrnHet is misluktrnrnen dan niets meer...
Offline zwobbel - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van zwobbel PHP gevorderde Op welke lijn eindigt het met het is misluktrnDit betekent dat de Query niet kloptrnMaar nu is het de vraag welke van de 2 dus .. welke lijn
Offline Frederic - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Frederic PHP ver gevorderde wat klopt er niet aan srnOk die tabel is leeg maar ik heb wel de velden id en columnid...rnHet eindigt op de 'Het is mislukt' van de_tabel_reactie
Offline zwobbel - 30/11/1999 00:00
Avatar van zwobbel PHP gevorderde Ik vermoe dat het al misloopt bij de eerste query mar ik weet het niet omdat ik je database niet ken ...
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde wat moet je weten
Offline Tuinstoel - 30/11/1999 00:00
Avatar van Tuinstoel PHP expert Doe eens mysql_error(); ipv Het is Mislukt, dat zal misschien wat meer advies geven wat er fout is aan de query. Mogelijk is dat de tabel niet bestaat.
Offline zwobbel - 30/11/1999 00:00
Avatar van zwobbel PHP gevorderde Uhm .. ik zou zeggen controleer alles is de namen van de database met de query tzal daar wel aan moetten liggen wand .. anders weet ik het niet.
Offline Frederic - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Frederic PHP ver gevorderde $sql = mysql_query(SELECT `` FROM `de_tabel` ORDER BY `id` DESC) or die(mysql_error());rnrnlevert oprnrnParse error parse error, unexpected T_LOGICAL_OR (in de 2e query)
Offline zwobbel - 30/11/1999 00:00
Avatar van zwobbel PHP gevorderde De query klopt maar dan denk ik dat je database naam niet klopt.rnMess weet tuinstoel enige raadrnIk kan je alvast niet verder helpen.
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde Dit is de_tabelrnrn[code]CREATE TABLE `de_tabel` (rn `id` int(10) unsigned NOT NULL auto_increment,rn `titel` text,rn `inhoud` longtext,rn `datum` varchar(12) default NULL,rn `tijd` time default NULL,rn `ip` varchar(20) default NULL,rn `hostmask` varchar(80) default NULL,rn PRIMARY KEY (`id`),rn FULLTEXT KEY `titel` (`titel`,`inhoud`)rn) TYPE=MyISAM AUTO_INCREMENT=3 ;[code]rnen dit is de_tabel_reactiern[code]CREATE TABLE `de_tabel_reactie` (rn `id` int(10) unsigned NOT NULL auto_increment,rn `columnid` varchar(100) default NULL,rn `naam` varchar(100) default NULL,rn `email` varchar(150) default NULL,rn `homepage` text,rn `bericht` text,rn `datum` varchar(12) default NULL,rn `tijd` time default NULL,rn `ip` varchar(20) default NULL,rn `hostmask` varchar(80) default NULL,rn PRIMARY KEY (`id`),rn FULLTEXT KEY `naam` (`naam`,`bericht`)rn) TYPE=MyISAM AUTO_INCREMENT=1 ;[code]
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde howla het werkt, vraag me niet wat ik heb gedaan want ik weet het niet srnAlleen geeft hij nu als reacties bij alle inhouden 1, terwijl er nog niks in de reactiestabel zit
Offline zwobbel - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van zwobbel PHP gevorderde Oeps probeer eensrn[code]rn$SQL = mysql_query(SELECT `` FROM `de_tabel_reacties` WHERE `columnid` = ' .$rij[id]. ' ) or die (Het is mislukt); rnecho mysql_num_rows($SQL);rn[code]
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde jops het werkt!
Offline Tuinstoel - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Tuinstoel PHP expert Je moet het tellen van de reacties anders aanpakken, het is een beetje een zooi als je het script in je topic post gebruikt.rnrn[code]rn$iReacties = mysql_result(mysql_query(rnSELECT COUNT(`id`) FROM `de_tabel_reacties` rnWHERE `columnid` = .$columnid),0);rnecho ($iReacties == 1) 'Er is één reactie gepost' 'Er zijn '.$iReacties.' reacties gepost.';rn[code]rnrn[b]Edit[b] ow, 't is al opgelost dus )
Offline Frederic - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Frederic PHP ver gevorderde Ik heb dan nurn[code] $iReacties = mysql_result(mysql_query(SELECT COUNT(`id`) FROM `de_tabel_reactie` WHERE columnid = '$columnid'),0);rn echo ($iReacties == 1) 'Er is één reactie gepost' 'Er zijn '.$iReacties.' reacties gepost.';rn[code] rnMaar dat geeft gewoon bij beidernWarning mysql_result() Unable to jump to row 0 on MySQL result index 5rns
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.196s