当前位置: 代码迷 >> PHP >> PHP分页代码范例分享
  详细解决方案

PHP分页代码范例分享

热度:219   发布时间:2016-04-28 18:31:22.0
PHP分页代码实例分享

PHP分页代码实例教程

?分享一段php分页代码,很简单,作为php分页的入门教程不错。

专题推荐:php分页代码大全????php分页原理?????php分页类

数据库链接及参数设定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//数据库连接
@mysql_connect("localhost","root","root123")?or?die("连接数据库失败:".mysql_error());
mysql_select_db("test");
mysql_query("set?character?set?'gbk'");
//每页显示的留言数
$pagesize?=?4;
输出当前页数据
//确定当前页数?$p?参数
$p?=?$_GET['p']?$_GET['p']:1;
//数据指针
$offset?=?($p-1)*$pagesize;
//查询本页显示的数据
$query_sql?=?"SELECT?*?FROM?guestbook?ORDER?BY?id?DESC?LIMIT??$offset?,?$pagesize";
$result?=?mysql_query($query_sql);
//循环输出
while($gblist?=?mysql_fetch_array($result)){
????echo?'<a?href="',$gblist['nickname'],'">',$gblist['nickname'],'?';
????echo?'发表于:',date("Y-m-d?H:i",?$gblist[createtime]),'<br?/>';
????echo?'内容:',$gblist['content'],'<br?/><hr?/>';
}
确定当前页参数?$p?中,使用了一个三元运算符:
$p?=?$_GET['p']?$_GET['p']:1;

?

理解该运算符:$_GET['p'] 存在吗?如果存在,那么 $p = $_GET['p'] ,如果不存在,那么 $p = 1 。

下面就是读取当前页面显示数据的代码,该部分可参考《MySQL Select From 查询数据》。

?

第二部分,输出分页格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//分页代码
//计算留言总数
$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'],'?条留言';
//循环输出各页数目及连接
if?($pagenum?>?1)?{
????for($i=1;$i<=$pagenum;$i++)?{
????????if($i==$p)?{
????????????echo?'?[',$i,']';
????????}?else?{
????????????echo?'?<a?href="index.php?p=',$i,'">',$i,'';
????????}
????}
}

如果确定页数大于 1 ,则开始输出分页页码。如果是当前页码,这输出 [2] 这样的格式,如果不是当前页码,则输出超链接格式。

完整代码

完整代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
//数据库连接
@mysql_connect("localhost","root","root123")?or?die("连接数据库失败:".mysql_error());
mysql_select_db("test");
mysql_query("set?character?set?'gbk'");
//每页显示的留言数
$pagesize?=?4;
//确定页数?p?参数
$p?=?$_GET['p']?$_GET['p']:1;
//数据指针
$offset?=?($p-1)*$pagesize;
//查询本页显示的数据
$query_sql?=?"SELECT?*?FROM?guestbook?ORDER?BY?id?DESC?LIMIT??$offset?,?$pagesize";
//echo?$query_sql;
$result?=?mysql_query($query_sql);
//循环输出
while($gblist?=?mysql_fetch_array($result)){
????echo?'<a?href="',$gblist['nickname'],'">',$gblist['nickname'],'';
????echo?'发表于:',date("Y-m-d?H:i",?$gblist[createtime]),'<br?/>';
????echo?'内容:',$gblist['content'],'<br?/><hr?/>';
}
//分页代码
//计算留言总数
$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'],'?条留言';
//循环输出各页数目及连接
if?($pagenum?>?1)?{
????for($i=1;$i<=$pagenum;$i++)?{
????????if($i==$p)?{
????????????echo?'?[',$i,']';
????????}?else?{
????????????echo?'?<a?href="index.php?p=',$i,'">',$i,'';
????????}
????}
}
?>

运行显示效果:

?

内容:Hello

?

--------------------------------------------------------------------------------

小丽 发表于:2010-09-01 01:42

内容:hahaha

?

--------------------------------------------------------------------------------

小张 发表于:2010-01-22 22:05

内容:来看看

?

--------------------------------------------------------------------------------

小明 发表于:2010-01-22 22:01

内容:做得好,继续努力

?

--------------------------------------------------------------------------------

共 10 条留言 1 [2] 3

  相关解决方案