今天遇到一個問題$sql = $mysqli->query( "SELECT .... "
);我有一個查詢想套用到兩個 while上,但這樣卻只有第一個有反應<? while ($row = mysqli_fetch_array($sql)){ ?>A<? }?><? while ($row = mysqli_fetch_array($sql)){ ?>B<? }?>有辦法實現同一個查詢可以套用到兩個 while嗎?在同一頁。
2 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
在第二个while前加一句 mysql_data_seek( $sql, 0 )
我不会php,语法有不对的地方请见谅。
<? while ($row = mysqli_fetch_array($sql)){ ?>A<? }?><? mysql_data_seek( $sql, 0 ); ?><? while ($row = mysqli_fetch_array($sql)){ ?>B<? }?>
四季花海
TA贡献1811条经验 获得超5个赞
你可以先把fetch的结果保存到数组中然后再用数组来循环。
$rows=array();while($row=mysqli_fetch_array($result)) { $rows[]=$row; } foreach($rows as $row) { A } foreach($rows as $row) { B }
或者干脆用mysqli_fetch_all
,据说性能上有些许优势:
$rows=mysqli_fetch_all($result, MYSQLI_BOTH);
注意mysqli_fetch_all
默认是MYSQLI_NUM
,和mysqli_fetch_array
不一样,所以要加第二个参数。
添加回答
举报
0/150
提交
取消