跟着咖啡学php(一)

阅读: 评论:0

跟着咖啡学php(一)

跟着咖啡学php(一)

我们今天来聊一下,在WEB网站中比较常见的分页查询。
首先:我们还是先启动服务器和起动mysql:

那么我们开始编写HTML代码,这里的样式我用的是bootstrap

<link rel="stylesheet" href=".3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

HTML代码:

<!DOCTYPE html>                 
<html><head><meta charset="UTF-8"><title></title><style>.a {background: #ddd;height: 200px;border: 1px solid #ccc;}</style><link rel="stylesheet" href=".3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><script type="text/javascript" src="js/jquery-1.11.0.js" ></script></head><body><div class="container"><div class="panel panel-default"><div class="panel-body"><div class="row"><div class="col-md-3 a">商品1</div><div class="col-md-3 a">商品2</div><div class="col-md-3 a">商品3</div><div class="col-md-3 a">商品4</div></div></div><div class="panel-footer"><ul class="pagination"><li><a href="#">1</a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li></ul></div></div></div><script></script></body></html>

OK,那么我们开始编写php代码,这里要注意,我并不是用AJAX来实现的分页查询,如果你想知道,怎么用AJAX查询,那么请看我其它的文章。

1.通过phpadmin我们来建立一个数据库(shop),里面有shop_list字段,结构如下:

2.编写连接数据库代码:

    $conn = mysqli_connect("localhost","root","","shop");if(!$conn){echo 失败;}mysqli_query($conn,"set names utf8");

3.计算商品个数:

    $sql = "select count(*) from shop_list";$res = mysqli_query($conn,$sql);$row = mysqli_fetch_assoc($res);

4.通过$_GET方式获取地址中的page参数

    $page = intval($_GET['page']);//获取url中page参数:例如:localhost/php1/page.php?page=1$page = $page < 1 ? 1 : $page; //限制page不可以小于1$pagesize = 4;  //定义每页筛选的个数$recordscount = $row['count(*)'];//获取数据的总长度$pageCount = ceil($recordscount / $pagesize);//向上取整例如:4.5=>4 4.2=>4if($page>=$pageCount){$page = $pageCount;}

5.获取当前页显示的个数

    $index = ($page - 1) * $pagesize; $sql = "select * from shop_list limit $index,$pagesize";$res = mysqli_query($conn,$sql);$arr = Array();while( ($row=mysqli_fetch_assoc($res)) != false ) {$arr[] = $row;}

6.修改HTML代码:

<div class="container"><div class="panel panel-default"><div class="panel-body"><div class="row"><?php foreach ($arr as $key => $value) {echo "<div class='col-md-3 a'>{$value['shop_name']}</div>";}   ?></div></div><div class="panel-footer"><ul class="pagination"><li><a href="page.php?page=<?php echo $page-1<1?1:$page-1?>" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li><?phpfor($i=1;$i<=$pageCount;$i++){if($page==$i){echo "<li class='active'><a href='page.php?page=$i'>".$i."</a></li>";}else{echo "<li><a href='page.php?page=$i'>".$i."</a></li>";}       }       ?><li><a href="page.php?page=<?php echo $page+1>$pageCount?1:$page+1?>" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>   </ul></div></div></div>

完整代码如下:

<?php$conn = mysqli_connect("localhost","root","","shop");if(!$conn){echo 失败;}mysqli_query($conn,"set names utf8");$sql = "select count(*) from shop_list";$res = mysqli_query($conn,$sql);$row = mysqli_fetch_assoc($res);$page = intval($_GET['page']);$page = $page < 1 ? 1 : $page; $pagesize = 4;  $recordscount = $row['count(*)'];$pageCount = ceil($recordscount / $pagesize);if($page>=$pageCount){$page = $pageCount;}$index = ($page - 1) * $pagesize;$sql = "select * from shop_list limit $index,$pagesize";$res = mysqli_query($conn,$sql);$arr = Array();while( ($row=mysqli_fetch_assoc($res)) != false ) {$arr[] = $row;}?><!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><link rel="stylesheet" href=".3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><style>.a {background: #ddd;height: 200px;border: 1px solid #ccc;}</style><script type="text/javascript" src="js/jquery-1.11.0.js" ></script></head><body><div class="container"><div class="panel panel-default"><div class="panel-body"><div class="row"><?php foreach ($arr as $key => $value) {echo "<div class='col-md-3 a'>{$value['shop_name']}</div>";}?></div></div><div class="panel-footer"><ul class="pagination"><li><a href="page.php?page=<?php echo $page-1<1?1:$page-1?>" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li><?phpfor($i=1;$i<=$pageCount;$i++){if($page==$i){echo "<li class='active'><a href='page.php?page=$i'>".$i."</a></li>";}else{echo "<li><a href='page.php?page=$i'>".$i."</a></li>";}   }?><li><a href="page.php?page=<?php echo $page+1>$pageCount?1:$page+1?>" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li>   </ul></div></div></div></body>
</html>

这种是最为传统的方式来进行商品分页,在现在这个AJAX和MVVM框架流行的年代里,这种方式已经很少有人会用的了。但我觉得,如果你是PHP的初学者,那么这种方式,还是掌握为好。但是,大家可以发现,我上面的PHP代码比较冗余,其实可以面向对象的方式来处理这个问题。希望,读者们可以自行尝试一下,有问题可以联系我。 - - !

本文发布于:2024-02-01 18:43:12,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170678419438682.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:咖啡   php
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23