为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

FFIVE 2018-08-18 15:41:32
今天遇到一個問題$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<? }?>


查看完整回答
反对 回复 2018-08-19
?
四季花海

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不一样,所以要加第二个参数。


查看完整回答
反对 回复 2018-08-19
  • 2 回答
  • 0 关注
  • 646 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信