本篇文章主要给大家详细介绍如何使用PHP实现分页功能即对数据库实现分页效果。在内容介绍之前,大家可以先了解下PHP连接数据库的具体方法。那么在这篇文章【PHP怎么连接Mysql数据库?】中已经为大家介绍了具体方法,可供需要的朋友进行参考学习。
PHP实现分页功能的操作,对于PHP新手来说或许有一定的难度。下面我们会通过详细的代码示例,为大家一一解说。希望对需要的朋友有一定的帮助。
PHP实现分页功能的完整代码示例如下:
<?php $host = '127.0.0.1'; $user = 'root'; $password = 'root'; $dbName = 'qiye'; $pdo = new PDO("mysql:host=$host;dbname=$dbName", $user, $password); $sql = "select * from user"; $data = $pdo->query($sql)->fetchAll(); $num = 5; $count = count($data); $w = ceil($count / $num); $page = isset($_GET['page']) ? $_GET['page'] : 1; //var_dump($page); $offset = ($page - 1) * $num; //var_dump($offset); $sql = "select * from user limit $offset,{$num}"; $data = $pdo->query($sql)->fetchAll(); $p = ($page == 1) ? 0 : ($page - 1); $n = ($page == $w) ? 0 : ($page + 1); ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action=""> <table border="1"> <tr> <th>姓名</th> <th>邮箱</th> <th>号码</th> <th>时间</th> </tr> <?php foreach ($data as $v): ?> <tr> <td><?php echo $v['username']; ?></td> <td><?php echo $v['email']; ?></td> <td><?php echo $v['phone']; ?></td> <td><?php echo date("Y-m-d", $v['time']); ?></td> </tr> <?php endforeach; ?> </table> <?php if ($page==1){ echo "首页"; }else{ echo "<a href='?page=1'>首页</a>"; } if ($p){ echo "<a href='?page={$p}'>上一页</a>"; }else{ echo "上一页"; } if ($n){ echo "<a href='?page={$n}'>下一页</a>"; }else{ echo "下一页"; } if($page== $w){ echo "尾页"; }else{ echo "<a href='?page={$w}'>尾页</a>"; } ?> </form> </body> </html>
在此段代码,我们先是通过PDO方式连接了“qiye”这个数据库,并通过sql语句对其数据进行了查询遍历操作。然后在本地创建一个form表单来显示从数据库中获取到的总信息,这里我们用count函数计算了总条数并赋值予$count 变量。
在没有进行分页操作时,通过浏览器访问到的数据表单结果为如下图:如如果我们想要让form表单中的数据每页只显示五条该怎么操作?大家应该都知道分页效果,基本有四个部分,首页、上一页、下一页和尾页。这里我们用ceil函数计算出总页数并赋值于$w变量。其实只要能掌握PHP跳转分页原理,就可以轻松完成PHP实现分页的功能。
那么在上述完整的代码示例中,已经为大家写出了分页的具体方法。其中将上一页与下一页分别赋予变量$p、$n ,再通过条件语句判断输出分页的四个部分。
PHP跳转分页原理:如果$p即当前页数不是在首页也就是不等于1时,我们就将当前页数减去1,即可实现点击上一页的跳转操作;如果$n即当前页数不是在尾页也就是不等于总页数时,我们就将当前页数加上1,即可实现点击下一页的跳转操作;如果要实现点击首页或者尾页时,实现直接跳转操作,只要将$p或$n的值设置为1或者总页数即可。
最终PHP分页实现效果如下图:
以上就是关于PHP实现分页功能的详细介绍,希望对需要的朋友有所帮助!更多相关教程可以访问php中文网mysql视频教程或php视频教程,欢迎参考学习!
Atas ialah kandungan terperinci PHP怎么实现分页功能?(图文+视频教程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!