分页实例
下面,通过一个实例为大家剖析一下分页原理上技术细节。
一、功能开发思路 在分页功能的实现前,先做了一个思维导图理清一下大概的思路,废话不多说,上图:
分页原理思维导图
二、功能开发各模块介绍 用到的工具有,轻量级编辑器editplus,mysql数据库管理工具phpmyadmin,环境为windows 7下apache+php+mysql。下面,给大家分享一下,运用php、mysql如何实现如上分页效果。
1.mysql数据库的创建准备 在设计这个功能时,创建了一个数据库fenye,表名为people,设定了字段——序号(id,为主键,自增),姓名(name),性别(sex),如下图:
数据库fenye结构图
2.php功能实现介绍 php功能页面,设计了三个——公共调用页conn.php,添加信息页add.php,信息列表页list.php。下面来做各功能页面的技术细节分析。
(1).公共调用页conn.php 该功能页面主要实现数据库及表的连接,数据库编码的设定,代码如下:
注解
@ 符号用于屏蔽因mysql连接失败时报错显示的mysql信息,出于用户体验和安全性考虑; die()函数:用于mysql数据库连接失败时抛出错误提示信息,其中内容自定义。 (2).添加信息页add.php 该功能页面主要向数据库内添加信息记录,核心功能代码为插入sql语句,完整代码如下:
添加信息
姓名:
性别:
注解
三元判断语句:条件 ? 结果1 : 结果2——成功执行结果1,失败执行结果2 mysql_error()函数用于返回上一个mysql操作产生的文本错误信息提示 (3)信息列表页list.php 该页主要功能用于呈现信息列表,并实现分页功能,先上完整代码,如下:
添加信息
序号姓名性别
其中末页'page=$sumpage'的取值需两种情况:当$num(总条数)与$pagesize(每页显示条数)的商为整数时,$sumpage=$sum/$pagesize;当两者之商不为整数时,则$sumpage=intval($sum/$pagesize)+1。即
if(is_integer($sum/$pagesize)){ $sumpage=$sum/$pagesize;}else{ $sumpage=($sum/$pagesize)+1;}
最后,$pagenum(页码罗列)需要从第一页到最后一页依次打印,所以,此处运用for循环,并进行条件判断:当处于当前页码时,即$i==$pageval,不加超链接;除此之外,加超链接,即:
for($i=1;$i<=$sumpage;$++){ if($i==$pageval){ $pagenum.=$i. ; }else{ $pagenum.=.$i.; }}
自此,整个分页功能的各个功能代码段一一剖析出来,在此代码基础上,稍加修改和调整样式,即可实现常见实用的分页功能。
(4)总结 其实,对于每一位php学习者来说,打好基础都是非常重要的,可以使我们在以后的学习中避免重复犯错,影响学习进度和深度,这里推荐大家多通读几遍php:php manual,此外推荐大家一个php的repl:psysh,供实验调试php代码,在此祝大家加油,玩转php!