分页效果在网页中是常见的,可是怎样才能实现分页呢,今天做了两种方法来实现一下分页的效果。
首先,我们需要准备在数据库里面准备一个表,并且插入数据,这些都是必需的前提工作了,不多说,如图所示(库名为jereh,表名为n_content):
步骤分析:
我们需要分页的话,需要用到 "select * from tableName limit num1,num2”;这是一个限定查询的语句,后面跟两个参数,num1为从第几个开始查找,num2为查找的信息的个数,如我想查找2,3,4这三条数据,如下图所示:
好了,我们开始说步骤:
1、建立一个函数,用来实现限制查询的功能
首先我们来想一下,实现这个功能我们首先要知道当前的页数和要限制的一个页面显示几条信息,这个可以用形参传过来。那么,
我们设置pageNum为页数,pageSize为一个页面显示几条数据,在 "select * from tableName limit num1,num2”这个查询语句中,
num1就是(pageNum-1)*pageSize,num2就是pageSize,明白了这个关系之后,那么就好办了,代码在下面:
//分页的函数 function news($pageNum = 1, $pageSize = 3) { $array = array(); $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度 $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize; $r = mysqli_query($coon, $rs); while ($obj = mysqli_fetch_object($r)) { $array[] = $obj; } mysqli_close($coon,"jereh"); return $array; }
上面的代码中,值得注意的是,limit后面一定要加一个空格,不然会出错误。
相关推荐:《php入门教程》
2、建立第二个函数,用来显示总页数的函数
这个没什么新的知识点,都是以前写过的知识点了,直接看代码吧。
//显示总页数的函数 function allNews() { $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); $rs = "select count(*) num from n_content"; //可以显示出总页数 $r = mysqli_query($coon, $rs); $obj = mysqli_fetch_object($r); mysqli_close($coon,"jereh"); return $obj->num; }
3、调用这两个函数,进行初步的处理
我们想做下一页、下一页的结果,需要用到get方法在本页面传数据,那么我们在刷新页面的时候,肯定get是得不到数据的,所以需要用三目运算了。
<?php @$allNum = allNews(); @$pageSize = 3; //约定每页显示的信息条数 @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"]; @$endPage = ceil($allNum/$pageSize); //总页数 @$array = news($pageNum,$pageSize); ?>
4、在页面进行显示
在页面显示的话,需要用到了foreach循环了,代码简单,看下面:
<table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
5、实现上一页,下一页的效果
要实现页面跳转的效果,我们需要用到了a标签的href属性,地址写“?pageNum = ...”这个pageNum是我们自己定义的,由于是get来传递的,在上一步里面我们已经用$_GET接受了参数,所以我们只需要进行get的参数传递就可以了;
首页:“pageNum=1”;
上一页:"pageNum=5988925648297af0be804ad15f2a86e8"
下一页:"pageNum=f553790c507e90e08c0eb9b215912451"
尾页:“pageNum=4e03b1d3755baa7ed7a00b4afc79d138”;
特别注意的是,”pageNum=”的时候后面千万千万不要空格,代码如下:
<a href="?pageNum=1">首页</a> <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a> <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a> <a href="?pageNum=<?php echo $endPage?>">尾页</a>
代码如下:
分页 <table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
效果如下:
以上是php如何实现分页功能的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

禅工作室 13.0.1
功能强大的PHP集成开发环境