腾讯云618限量抢购
  1. PHP基础教程
  2. PHP+MySQL数据库教程
  3. ThinkPHP 3.0/3.1 教程

PHP 数据显示分页技术

最后更新:2010-11-29 17:34阅读:55233

数据分页概述

对大量数据进行分页显示是 Web 开发中最常见的情况,但大多刚开始接触 Web 开发的开发人员,对分页技术往往比较迷惘,本节教程以一个分页显示留言板的数据为例就来演示一下 PHP 中基本的数据分页显示原理。

本节教程需要用到的 PHP基础知识

数据准备

假设储存留言的数据表(guestbook)数据如下:

id nickname email content createtime
1 admin admin@5idev.com 留言测试 1264167501
2 user user@163.com 大家好 1264168127
3 小明 xiaoming@163.com 做得好,继续努力。。 1264168865
4 小张 xiaozhang@163.com 来看看 1264169118
5 小丽 xiaoli@tom.com haha 1283276566
6 Tom tom@gmail.com Hello 1283336218
7 Jack jack@hotmail.com okok 1283336315
8 admin admin@5idev.com 嗯嗯 1283336315
9 阿里巴巴 alibaba@5idev.com 来看看 1283337158
10 路人甲 haha@163.com 哈哈哈 1283338228

建表 SQL 参考如下:

CREATE TABLE `guestbook` (
  `id` mediumint(8) unsigned NOT NULL auto_increment,
  `nickname` char(15) NOT NULL default '',
  `email` varchar(100) NOT NULL default '',
  `content` text NOT NULL,
  `createtime` int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

分页原理

目的很简单,就是将较多数据记录,分页显示出来,每一页显示设定的数据条数。

分页显示格式如下:

共 10 条留言 [1] 2 3

该格式比较简单,只显示了总的数据和各个分页数。当前页面显示为 [1] 这样的格式,非当前页面的页数则显示为超链接格式。

PHP 分页技术核心在于确定当前的页数,然后利用 MySQL 的 LIMIT 关键字来指定输出对应的记录数。

如当前是第 1 页时,那么就是 LIMIT 0,4(假设一页输出 4 条记录),第 2 页时,就是 LIMIT 4,4,第 3 页时,就是 LIMIT 8,4 … 依此类推,第 n 页时,就是 LIMIT (n-1)*4,4 。

而当前页数 $p 这个参数,通过 URL 来获取。如 http://127.0.0.1/guestbook/index.php?p=2 这个这个 URL 链接,表示当前为第 2 页,PHP 中通过 $_GET['p'] 来取得对应的页数值 2 。而对于首页,则没有 $p 这个参数,那么就设定为默认值 1 即可。


本章节内容共分 2 部分:
  1. 1. PHP 数据显示分页技术
  2. 2. PHP 分页具体实现代码
腾讯云618限量抢购