Ik heb twee while loops waarvan alleen de tweede van a tot z loopt. De eerste begint wel maar eindigt bij het eerste record terwijl de tabel in de database vol staat met records.
$resultx = mysql_query("SELECT * FROM dbx");
$resulty = mysql_query("SELECT * FROM dby");
while ($row_x = mysql_fetch_array($resultx)) {
// hier doet ie iets
while ($row_y = mysql_fetch_array($resulty)) {
// hier doet ie iets anders
}
}
De loops zijn nagenoeg identiek maar toch functioneren ze anders. De tabel dbx bevat dus meerdere records maar de loop kijkt uitsluitend naar het eerste.
Dank je!
Als ik mysqli hanteer doet het script helemaal niets meer. Ook geen foutmelding maar krijg geen data meer uit de tabellen...
[size=xsmall]Toevoeging op 09/08/2016 17:02:21:[/size]
Heb de eerste while vervangen door een foreach-loop op basis van een array. Als ik de loop laat uitvoeren zonder de twee loop (dus zonder while) dan loopt ie alle records uit dbx door. Zodra ik de while loop inzet (uit dby) dan wordt de foreach-loop direct gestopt na het eerste record. Dit gebeurde dus ook precies toen beide loops nog whiles waren op basis van dbx en dby.
Kortom: gebruik van foreach o.b.v. array ipv while statement o.b.v. database maakt geen donder uit. In beide gevallen stopt ie met elke loop als de while loop van dby gestart wordt.
Als ik de eerste loop helemaal achter wegen laat dan toont ie keurig alle records van dby
Als ik de tweede loop helemaal achter wegen laat dan toont ie keurig alle records van dbx
Heb het nu omslachtig opgelost door alles in arrays te gooien en dan stuk voor stuk met for statements uit te lezen. Toen lukte het wel. Blijft vreemd dat dit niet met 2x while {} lukt ...
[size=xsmall]Toevoeging op 09/08/2016 17:51:00:[/size]
SanThe, hoe komt dat? Waarom kun je die tweede while niet een x-aantal keren uit laten voeren?
SanThe, hoe komt dat? Waarom kun je die tweede while niet een x-aantal keren uit laten voeren?
Dan moet je het zo doen:
<?php
$resultx = mysql_query("SELECT * FROM dbx");
while ($row_x = mysql_fetch_array($resultx))
{ // hier doet ie iets
$resulty = mysql_query("SELECT * FROM dby");
while ($row_y = mysql_fetch_array($resulty))
{ // hier doet ie iets anders
}
}
?>