ophalen informatie uit mysql niet compleet
Ik wil informatie ophalen uit de mysqldatabase. volgens mysql_num_rows($sres) zeven rijen (klopt) wanneer ik dat via onderstaand stukje php in een table laat zien, zijn er zes rijen gevuld met de info en 1 lege rij.
terwijl daar wel info in staat. Wat doe ik niet goed?
<table width=800>
<tr>
<td bgcolor=#EEE8AA width=200>
</td>
<td bgcolor=#EEE8AA width=60 align='right'>€
</td>
</tr>
</table>
terwijl daar wel info in staat. Wat doe ik niet goed?
<table width=800>
Code (php)
1
2
3
4
2
3
4
<?php
for ($ii=0;$ii<mysql_num_rows($sres);$ii++)
{
$row1 = mysql_fetch_array($sres);?>
for ($ii=0;$ii<mysql_num_rows($sres);$ii++)
{
$row1 = mysql_fetch_array($sres);?>
<tr>
<td bgcolor=#EEE8AA width=200>
</td>
<td bgcolor=#EEE8AA width=60 align='right'>€
</td>
</tr>
</table>
moet worden:
mooi!
de lege rij is nu weg, maar ik zie nu zes rijen, terwijl in de database er zeven staan
Toevoeging op 30/03/2013 11:34:43:
de eerste rij pakt hij niet
de lege rij is nu weg, maar ik zie nu zes rijen, terwijl in de database er zeven staan
Toevoeging op 30/03/2013 11:34:43:
de eerste rij pakt hij niet
pak gewoon de while():
Kan het komen omdat je in de for-lus werkt met kleiner dan ipv kleiner dan/gelijk?
Sluit me wel aan bij Frank: gebruik while-lus.
Sluit me wel aan bij Frank: gebruik while-lus.
Lex moen op 30/03/2013 11:33:06:
de eerste rij pakt hij niet
Zal waarschijnlijk de laatste rij zijn :)
Zie commentaar van Frank en Obelix
eerste rij, want ik heb volgnummer erbij gezet (oudste rij) while geeft ook maar zes terwijl er echt zeven rijen in staan
Wat is je query dan, want dan lijkt het er eerder op dat je query niet alles teruggeeft.
Heb je deze rij dan niet uitgesloten dmv de WHERE in je SQL ?
$selectrow[volgnummer] is 1 en dat heeft hij in zeven rijen.
kan het te maken hebben met $selectrow[volgnummer] geen apostrophes rond volgnummer? maar hoe zet ik die dan want als ik die apostrophes zet krijg ik een foutmelding, staan in de zin al apostrophes vanwege donorvolgnummer='$selectrow[volgnummer]'
$s= "select* from gedoneerd2 where donorvolgnummer='$selectrow[volgnummer]'";
$sres=mysql_query($s);
$srow=mysql_fetch_array($sres); ?>
<table width=800>
<tr>
<td><br /><br /><center>U heeft nog niet gedoneerd.</center></td>
</tr>
</table>
<table width=1200>
<tr>
<td><center>projekt<br /><br /></center></td>
<td><center>door u gedoneerd<br /><br /></center></td>
<td><center>totaal gedoneerd<br /><br /></center></td>
<td><center>datum<br /><br /></center></td>
<td><center>extra info<br /><br /></center></td>
<td><center>naar projekt<br /><br /></center></td>
</tr>
<tr>
<td>
</td>
<td>€
</td>
<td>€
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
kan het te maken hebben met $selectrow[volgnummer] geen apostrophes rond volgnummer? maar hoe zet ik die dan want als ik die apostrophes zet krijg ik een foutmelding, staan in de zin al apostrophes vanwege donorvolgnummer='$selectrow[volgnummer]'
$s= "select* from gedoneerd2 where donorvolgnummer='$selectrow[volgnummer]'";
$sres=mysql_query($s);
$srow=mysql_fetch_array($sres); ?>
<table width=800>
<tr>
<td><br /><br /><center>U heeft nog niet gedoneerd.</center></td>
</tr>
</table>
<table width=1200>
<tr>
<td><center>projekt<br /><br /></center></td>
<td><center>door u gedoneerd<br /><br /></center></td>
<td><center>totaal gedoneerd<br /><br /></center></td>
<td><center>datum<br /><br /></center></td>
<td><center>extra info<br /><br /></center></td>
<td><center>naar projekt<br /><br /></center></td>
</tr>
<tr>
<td>
</td>
<td>€
</td>
<td>€
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
Zou je de code even kunnen aanpassen dat er niet tig tabjes voor elke php regel staan? Zo is het niet te doen, voor elke regel moet ik helemaal naar rechts scrollen.
echo eens het aantal rijen dat de query oplevert naar het scherm (mysql_num_rows)
Overigens ontbreekt er bij je query foutafhandeling!
Overigens ontbreekt er bij je query foutafhandeling!
Nee, hier zit het probleem:
Voor je je while loop ingaat doe je al een fetch. Die rij raak je dus kwijt, want eenmaal gefetched gaat de cursor door en kom je nooit meer terug bij die eerste rij. De eerste rij krijg je op deze manier dus nooit in je tabel.
Voor je je while loop ingaat doe je al een fetch. Die rij raak je dus kwijt, want eenmaal gefetched gaat de cursor door en kom je nooit meer terug bij die eerste rij. De eerste rij krijg je op deze manier dus nooit in je tabel.
Erwin H op 30/03/2013 16:15:08:
Nee, hier zit het probleem:
Voor je je while loop ingaat doe je al een fetch. Die rij raak je dus kwijt, want eenmaal gefetched gaat de cursor door en kom je nooit meer terug bij die eerste rij. De eerste rij krijg je op deze manier dus nooit in je tabel.
Voor je je while loop ingaat doe je al een fetch. Die rij raak je dus kwijt, want eenmaal gefetched gaat de cursor door en kom je nooit meer terug bij die eerste rij. De eerste rij krijg je op deze manier dus nooit in je tabel.
TOPPERRRRRRRRRRRRRRRRRRRR!
DAT WAS HET
hardstikke bedankt, zonder jullie was ik er nooit uitgekomen
hardstikke bedankt, zonder jullie was ik er nooit uitgekomen
In veel scripts zie je dat mensen eerst al een rij ophalen en dan pas de while() doen. Laat het relevante stuk script eens zien.




