目录
suibi

php分页功能怎么实现(php实现简单的分页代码分享)


今天继续记录日常学习PHP第8天的过程!

这两天直接以php的功能来实操学习,比之前的PHP基础,真的有趣多了,上一篇文章记录留言板功能,我感觉囊括了很多知识,而且能延展很多的小功能知识,比如查询命令里面,怎么查到更多、条件筛选等,所以我今天继续在昨天的基础上延展一个功能——分页;

当展现的内容多了后,比如总计100条数据,默认都在一页上面显示,是不是体验感就很差,此时我们就会用到分页功能,把数据按照每一页10条,分成无数个页;

实操开始:

新建一个index.php文件作为留言板内容的显示文件;

$sql="select zhuti,neirong,time from liuyan order by time desc";
修改成:
$sql="select zhuti,neirong,time from liuyan limit 0,10 order by time desc";
//使用LIMIT,它就从0开始只显示10条信息,
//比如当页面在第二页,那limit(10,20)
//比如当页面在第三页,那limit(20,30)
$id=$_GET['id']; //获取当前页面是第几页;
$sql="select zhuti,neirong,time from liuyan order by time desc";
$q=mysqli_query($con,$sql);
$r=mysqli_num_rows($q);//统计留言内容数据总计有多少条

$e=10;//一页10条,也是limit的结束值
$s = ($id -1) * $e; //limit的开始值

$sql_fenye="select zhuti,neirong,time from liuyan limit $s,$e order by time desc";
$q_fen=mysqli_query($con,$sql_fenye);
while($row=mysqli_fetch_array($q_fen)){
echo "留言主题:".$r['zhuti']."<br>";
echo "留言内容:".$r['neirong']."<br>";
echo "留言时间:".$r['time'];
}
//这样就显示出来了对应页数的数据,如果在第一页,那就显示0,10的数据

$sum=$r / $e; //总计能分多少页面
$sum=ceil($co);//总页数,ceil是系统函数,向上舍入为最接近的整数


//把具体页数遍历出来,作为翻页跳转;
for($p=1;$p<=$sum;$p++){
echo "<a href="a.com?id=".$p."'>".$p."</a>";
}

以上就是完整地翻页原来,我学了3遍,敲代码测试了很多次,才把正确的结果运行出来,回头这样一看,其实也并不是难,最开始不明白需要哪些条件才能满足翻页时候,大脑就是懵的,所以觉得非常难;

我总结3条必备掌握的条件:

第一,需要或者整体的数据数,由此也得到总计可以分页页数

第二,分页公式【limit(开始数,结束数)】,

开始数 = (当前页 -1) * 每页条数;

结束数也是当夜条数,比如每10条数据/页

第三,获得了当前页数、总分页页数,就可以写分页跳转按钮,上一页、下一页、第多少页等;

但是我发现了还有很多需要优化的地方,比如当前页为0时候,就没有数据显示等;我再继续测试,优化后再做记录


写笔记

咨询

您的电子邮箱地址不会被公开。