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