这几天研究php,关于循环调用的小理解

本文阅读 2 分钟
广告

学习php是一件业余的事情,开源程序接触久了难免想要自己练手,但是自学的机会并不是很多,只能偶尔做一些功能简单的小插件维持生活的样子。关于从数据库查询数据,循环调用显示在页面上,这是个很轻而易举的事情,但是我发现其实在实际的开发过程中,如果只是简单的直接将查询数组通过while循环呈现,看起来没问题,但是局限性依旧很大。
主要的原因在于,如果要在页面上重复调用,实际上每一次执行,数据都会减少,甚至不显示。

这是我之前的写法:

while($row = $result->fetch_assoc()) {
    echo "<tr><td>" . $row["bookid"]. "</td>";
    echo "<td>" . $row["bookname"]. "</td>";
    echo "<td>" . $row["author"]. "</td>";
    echo "<td>" . $row["intro"]. "</td>";
    echo "<td>". $row["sortid"]. "</td>";
    echo "<td>". $row["userid"]. "</td>";
    echo "<td><a href=\"bookedit.php?id=". $row["bookid"]."\">修改</a><a href=\"#\">删除</a></td></tr>";
}

这样的话,如果页面上需要显示相同的数据,就需要设置更多的sql语句,严重影响架加载速度,如果采用相同的话,每一次fetch_assoc()都会导致查询结果缺失。所以,之前实在想不出什么办法的时候,在网上无意间发现了这样的写法。
代码如下:

//将查询数据存入数组$data[]
while($row= mysqli_fetch_assoc($result)){
    $data[]=$row;
}
//通过foreach循环调用$data[]数据
foreach($data as $value) {
    echo "<tr><td>" . $value["bookid"]. "</td>";
    echo "<td>" . $value["bookname"]. "</td>";
    echo "<td>" . $value["author"]. "</td>";
    echo "<td>" . $value["intro"]. "</td>";
    echo "<td>". $value["sortid"]. "</td>";
    echo "<td>". $value["userid"]. "</td>";
    echo "<td><a href=\"bookedit.php?id=". $value["bookid"]."\">修改</a><a href=\"#\">删除</a></td></tr>";
}

这样的好处就是,可以通过修改$data[]来重复的去显示数据,并且能够容易的对数组内容进行修改,比如做排序和筛选之类的操作。

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/743/
胡不归:当现实主义遇上浪漫主义
« 上一篇 06-15
牧昇:回
下一篇 » 06-17
广告

发表评论

成为第一个评论的人

作者信息

热门文章

标签TAG

热评文章