第二个循环对于第一个循环的第一个循环正确工作,之后只执行第一个循环而不执行第二个循环。谁能告诉我这段代码哪里出错了?
<form method="POST" action="#">
<?php
$no=0;
while($soal=mysql_fetch_array($result)){
$now=++$no;
echo $now.". ".$soal['soal']."<p>";
while($jawaban=mysql_fetch_array($result2)){ ;
?>
<p>
<input type=radio name="grup[<?php $now?>]" value="<?php $jawaban['idJawaban']?>"><?php echo $jawaban['jawaban']?><br>
<?php
}
}
?>
<input type="submit" value="submit">
</form>
首先想想为什么循环会停止!while (..)
需要在某个点停止。这个点是mysql_fetch_array($result2)
最终返回false
的点。为什么返回false
?因为你在结果集的最后。尝试从这个结果集中获取一条记录将返回false
,因为该结果集已耗尽。重启while
循环不会改变这一点。
您要么需要将mysql_data_seek
返回到结果集的开头,要么需要循环一次结果集并将其所有数据存储在一个数组中,您可以一次又一次地循环。