如何 php + mysql 对数据库内数据实现分页显示
问题:我的数据库结构如下 【程序编程相关:下午之前对Blog的认识】
很多php的初学者,都对于web页面的分页显示比较困惑,其实分页显示的原理非常简单,今天又有人在qq上问我这个问题.由于顺手写了这一小记,便于众兄弟朋友翻阅. 【推荐阅读:四种XML解析技术之不完全测试】
【扩展信息:在 Microsoft Office 系】create database book_list (
id int unsigned not null auto_increment, name varchar(50) not null, author varchar(50) not null, primary key (id) )id: 为书籍的id言标识,主键
name:书籍名称 author:书书籍作者本例数据表的比较简单,主要是方便于解释.
现在我们需要这样分页显示这些数据,要求:数据表中已经有 11 条记录,每页显示数据为 5 条,分多页显示.
根据要求现在分析一下,
第一页显示 0 - 4 条记录
第二页显示 5 - 9 条记录 第三页显示 10 - 14 条记录实际上可以得出如下结论,每次都需要从 $posion 条显示,显示数为 $pagesize ,在mysql中有这样一条sql语句:
select *
from book_list where 1 limit 0, 5意思是从第 0 条记录开始,读取 5 条记录.我们可以这一语句的特点来构建我们的函数,其实每次显示时就是要确定 $posion 即可了.实现代码如下:
$pageno = 3; //确实显示第三页
$posion = ($pageno - 1) * $pagesize; //计算从第几条记录读取//然后构建如下sql语句
$sql = “select * from book_list where 1 limit $posion , $pagesize”;即可以直接读出要显示的那一页所有数据.
那么下面即给一个简化版的分页类,可以对任何的数据表进行分页显示的.以便抛砖引玉.
php: class page { var $tablename; //操作的表 var $pagesize; //页大小, 默认为10页 var $pageno; //当前页码即需要显示的页号 ... 下一页