这次按教程写了一个php的分页技术。
分页技术是web开发中常常会用到的,这次我们用一个简单的留言板来体现分页。
在分页方面,我们需要做数据处理、数据库的连接、数据的输出这几部分。
在做数据处理时,在phpMyadmin的所建数据库中写入数据表guestbook(注意数据库的编码格式要和后台php的编码格式一致)。
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 ;
数据库的连接。
@mysql_connect("localhost","root","123456") or die("连接数据库失败:".mysql_error());
mysql_select_db("test"); //这里的test选择自己所创建的数据库。
mysql_query("set character set 'utf-8'");//gbk为编码格式,与数据库编码一致。
数据的输出
$p = $_GET['p']?$_GET['p']:1; //确定当前输出页
$count_result = mysql_query("SELECT count(*) as count FROM guestbook");
$count_array = mysql_fetch_array($count_result);//计算留言总数
$pagenum=ceil($count_array['count']/$pagesize);
echo '共 ',$count_array['count'],' 条留言';//计算总的页数。
效果图:
注意如果要使后面的页数的留言都能显示,要把循环页数的连接(paging.php)改为本页
if ($pagenum > 1) {
for($i=1;$i<=$pagenum;$i++) {
if($i==$p) {
echo ' [',$i,']';
} else {
echo ' <a href="paging.php?p=',$i,'">',$i,'</a>';
}
}
}