为什么第二个循环只执行一次


why the second loop execute only one time?

第二个循环对于第一个循环的第一个循环正确工作,之后只执行第一个循环而不执行第二个循环。谁能告诉我这段代码哪里出错了?

<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返回到结果集的开头,要么需要循环一次结果集并将其所有数据存储在一个数组中,您可以一次又一次地循环。