今天遇到一個問題$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
提交
取消
