Forum Moderators: coopster

Message Too Old, No Replies

nested while statements not working?

         

dragon master mokuba

5:02 am on Jun 7, 2008 (gmt 0)

10+ Year Member



heres the code ive written:


<?PHP
$tdcount = 1;
$pnm1 = 1;
$pnm2 = 0;
$sql1 = "SELECT date FROM tutoring_dates";
$result5 = mysql_query($sql1);
echo "<BR><div id=\"AccordionContainer\" class=\"AccordionContainer\">";
while($row5 = mysql_fetch_array($result5)) {
$pnm = $pnm1++;
$pnm3 = $pnm2++;
$sql2 = "SELECT * FROM tutoring_dates WHERE date = ".$row5['date'];
$result2 = mysql_query($sql2);
echo '<div onclick="runAccordion('.$pnm.','.mysql_num_rows($result2).');set('.$pnm3.');">
<div class="AccordionTitle" onselectstart="return false;">
<input class="hilite" type="radio" name="date" value="'.$row5['date'].'"> '.$row5['date'].'
</div>
</div>
<div id="Accordion'.$pnm.'Content" class="AccordionContent">';
$sql2 = "SELECT * FROM tutoring_dates WHERE date = ".$row5['date'];
$result2 = mysql_query($sql2);
while($row2 = mysql_fetch_array($result2)) {
//This while statement wont execute. I dont know why. everything else works fine.
$pnm4 = $pnm2++;
echo 'blahblah';
$sql3 = "SELECT * FROM tutoring_sessions WHERE date = ".$row5['date']." AND time = ".$row2['time'];
$result3 = mysql_query($sql3);
if (mysql_num_rows($result3) == "0") {
echo '<div onclick="set2('.$pnm.','.$pnm4.');">
<input class="hilite" type="radio" name="time'.$pnm.'" value="'.$row2['time'].'"> '.$row2['time'].'<BR>
</div>';
}
else {}
}
echo '</div>';
}
echo '</div>';
?>

the while statement that has this


//This while statement wont execute. I dont know why. everything else works fine.

written in it is the while statement not working [duh lol]
any suggestions? i really need this done by monday >.< and this is pretty much the last thing left to fix. lol

gregno

5:16 am on Jun 7, 2008 (gmt 0)

10+ Year Member



Try using mysql_free_result($result2); after each nested end of a loop

dreamcatcher

6:35 am on Jun 7, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Add a bit of debugging to your queries:

$result2 = mysql_query($sql2) or die(mysql_error());

You should ideally put your queries in quotes. For example:

$sql2 = "SELECT * FROM tutoring_dates WHERE date = '".$row5['date']."'";

dc

dragon master mokuba

12:54 am on Jun 8, 2008 (gmt 0)

10+ Year Member



I figured it out. i was typing the queries worng. thanks for the help!