同一個查詢不能套用到兩個 while ?

今天遇到一個問題

$sql = $mysqli->query(              "SELECT .... "
            );

我有一個查詢想套用到兩個 while上,但這樣卻只有第一個有反應

<? while ($row = mysqli_fetch_array($sql)){ ?>A<? }?><? while ($row = mysqli_fetch_array($sql)){ ?>B<? }?>

有辦法實現同一個查詢可以套用到兩個 while嗎?在同一頁。


FFIVE
浏览 658回答 2
2回答

慕的地6264312

在第二个while前加一句&nbsp;mysql_data_seek( $sql, 0 )我不会php,语法有不对的地方请见谅。<?&nbsp;while&nbsp;($row&nbsp;=&nbsp;mysqli_fetch_array($sql)){&nbsp;?>A<?&nbsp;}?><?&nbsp;mysql_data_seek(&nbsp;$sql,&nbsp;0&nbsp;);&nbsp;?><?&nbsp;while&nbsp;($row&nbsp;=&nbsp;mysqli_fetch_array($sql)){&nbsp;?>B<?&nbsp;}?>

四季花海

你可以先把fetch的结果保存到数组中然后再用数组来循环。$rows=array();while($row=mysqli_fetch_array($result))&nbsp;{ $rows[]=$row; } foreach($rows&nbsp;as&nbsp;$row)&nbsp;{ A } foreach($rows&nbsp;as&nbsp;$row)&nbsp;{ B }或者干脆用mysqli_fetch_all,据说性能上有些许优势:$rows=mysqli_fetch_all($result,&nbsp;MYSQLI_BOTH);注意mysqli_fetch_all默认是MYSQLI_NUM,和mysqli_fetch_array不一样,所以要加第二个参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL