PHP分页方式的思想和实现
2013-01-03 01:50
211 查看
分页技术在实现一个完整的WEB站点时似乎都是必不可缺的,简单说明一下两种分页方式的实现思想:
1.简单分页
这里的简单分页是指只用数字的方式罗列出所有的页码,如“1 2 3 4 5”形式。这种分页的方式在实现上要简单的多,只要从数据库中查询出符合条件的所有记录总和数(设为$total),再根据你设定的每页最大显示量(设 为$page_size),通过ceil($total/$pagesize)就可以计算出共有多少页(设为$pages),那么只要通过循环输出页码即 可,伪代码形如:
那么,程序就可以根据GET过来的$_GET['p']值获取要响应的页码,以显示指定页面的信息。
2.复杂分页
这里的复杂分页是指分页实现包含诸如“首页”、“上一页”、“下一页”、“最后一页”及“1 2 3 4 5”字样的最终功能效果(可用字符串连接符‘.’来连接这些字样,并最后输出)。这种实现较上一种要复杂些,因为你必须根据用户的选择判断“首页”、“上 一页”、“下一页”、“最后一页”及“1 2 3 4 5”字样出现的场景,比如说:当显示页面1的信息时,其分页效果中就不应该出现"上一页"这样的字眼,因为从正常的逻辑上来说,首页是没有上一页的。这时 候可以根据GET过来的$_GET['p']来判断“上一页”字样是否应该出现。其他异常情况,请读者自己处理。
我们主要讲一下如何根据当前的页码,判断其下一页和上一页(这里假设当前的页面是具有上一页和下一页的)。你可能在访问某站点的时候见过下面的示意图:
针对上面的实现,给出以下核心伪代码:
$page代表当前页码,$pregpg保存当前页的上一页码,$nextpg保存当前页的下一页码。通过这样的方式并加上其他代码的“加工”,就能够实现上面的效果了。
1.简单分页
这里的简单分页是指只用数字的方式罗列出所有的页码,如“1 2 3 4 5”形式。这种分页的方式在实现上要简单的多,只要从数据库中查询出符合条件的所有记录总和数(设为$total),再根据你设定的每页最大显示量(设 为$page_size),通过ceil($total/$pagesize)就可以计算出共有多少页(设为$pages),那么只要通过循环输出页码即 可,伪代码形如:
1 | for ( $i =1; $i <= $pages ; $i ++){ |
2 | echo "<a href='xx.php?p=$i'>$i</a> " ; |
3 | } |
2.复杂分页
这里的复杂分页是指分页实现包含诸如“首页”、“上一页”、“下一页”、“最后一页”及“1 2 3 4 5”字样的最终功能效果(可用字符串连接符‘.’来连接这些字样,并最后输出)。这种实现较上一种要复杂些,因为你必须根据用户的选择判断“首页”、“上 一页”、“下一页”、“最后一页”及“1 2 3 4 5”字样出现的场景,比如说:当显示页面1的信息时,其分页效果中就不应该出现"上一页"这样的字眼,因为从正常的逻辑上来说,首页是没有上一页的。这时 候可以根据GET过来的$_GET['p']来判断“上一页”字样是否应该出现。其他异常情况,请读者自己处理。
我们主要讲一下如何根据当前的页码,判断其下一页和上一页(这里假设当前的页面是具有上一页和下一页的)。你可能在访问某站点的时候见过下面的示意图:
针对上面的实现,给出以下核心伪代码:
1 | $page = $_GET [ 'p' ]; |
2 | $prepg = $page -1; //上一页 |
3 | $nextpg = $page +1; //下一页 |
4 | echo "<a href='xx.php?p=$prepg'>上一页</a> " ; |
5 | for ( $i =1; $i <= $pages ; $i ++){ |
6 | echo "<a href='xx.php?p=$i'>$i</a>" ; |
7 | } |
8 | echo "<a href='xx.php?p=$nextpg'>下一页</a> " ; |
相关文章推荐
- php实现分页选择按钮的三种方式
- php怎么写分页?怎么灵活实现分页的方法,快速在thinkphp里面实现分页
- MVC思想在PHP中的实现思路
- PHP命名空间自动加载之composer实现方式
- php实现面向对象的数据分页显示
- php中mysql_pconnect()的实现方式.
- php,ajax实现分页
- jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
- 检索结果的分页显示实现(php)
- PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
- php分页功能实现
- php简单分页 和 jquery实现超简单的隔行变色
- PHP+JQUEY+AJAX实现分页
- PHP无法做到的截字整齐,使用CSS截字方式完美实现之
- PHP实现定时任务(非linux-shell方式,与操作系统无关)
- jQuery+Ajax+PHP实现异步分页数据显示--js可参考
- PHP-分页具体实现及代码
- 分页实现的三种方式
- 无JS,完全php面向过程数据分页实现代码
- PHP框架开发:三、MVC设计模式及本框架的实现方式