0

最初のループはうまくいきますが、2 番目のループはそうではありません。例えば:

$sql = "select * from table";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
  //some code
}
while($row=mysql_fetch_array($result))
{
  //some code
}

理由が知りたいだけ

4

3 に答える 3

1

最初の while ループで結果セットのすべてのデータをフェッチすると、ポインターは最後のレコードに移動するため、2 番目の while ループでは何もフェッチされません。while ループに再度渡す前に、ポインターを最初のレコードに戻す必要があります。

次のようにコードを更新するだけです。

$sql = "select * from table";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
  //some code
}

mysql_data_seek(0); // Add this line

while($row=mysql_fetch_array($result))
{
  //some code
}
于 2013-09-24T08:25:28.343 に答える
0

$result次のようにコピーできます。

$sql = "select * from table";
$result=mysql_query($sql);
$result2 = $result;
while($row=mysql_fetch_array($result))
{
  //some code
}
while($row=mysql_fetch_array($result2))
{
  //some code
}
于 2013-09-24T08:25:40.800 に答える