PHP实现简单数字分页效果

学习要点:
1.LIMIT 用法
2.各种参数
3.超链接调用

第一:先在文件中设置数字分页模块;我的文件是(blog.php)

复制代码 代码如下:
//分页模块
$_page = $_GET['page'];
$_pagesize = 10;
$_pagenum = ($_page - 1) * $_pagesize;
//首页要得到所有的数据总和
$_num=mysql_num_rows(_query("SELECT tg_id FROM tg_user"));
$_pageabsolute=$_num / $_pagesize;

要注意的是在数据库中取集的时候

复制代码 代码如下:
//我们必须每次重新读取结果集,而不是从新去执行SQL语句。
$_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC LIMIT $_pagenum,$_pagesize");

设置分页循环的效果

?
1
2
3
4
5
6
7
8
9
10
11
< div id = "page_num" >
< ul >
<? php for($ i = 0 ;$i<$_pageabsolute;$i++){
if ($_page == ($i+1)) {
echo '<li>< a href = "blog.php?page='.($i+1).'" class = "selected" >'.($i+1).'</ a ></ li >';
}else{
echo '< li >< a href = "blog.php?page='.($i+1).'" >'.($i+1).'</ li >';
}
} ?>
</ ul >
</ div >

相对应的CSS

?
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
#page_num {
height : 20px ;
clear : both ;
padding : 10px 0 ;
position : relative ;
}
#page_num ul {
position : absolute ;
right : 30px ;
height : 20px ;
}
#page_num ul li {
float : left ;
width : 26px ;
height : 20px ;
}
#page_num ul li a {
display : block ;
width : 20px ;
height : 20px ;
line-height : 20px ;
border : 1px solid #333 ;
text-align : center ;
text-decoration : none ;
}
#page_num ul li a:hover,#page_num ul li a.selected {
background : #666 ;
font-weight : bold ;
color : #fff ;
}

在其中可能会由于编码出现容错误,解决的方法是

?
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
// 分页模块
if (isset ( $_GET [ 'page' ] )) {
// 在数据不再数据范围内出错的解决方法
$_page = $_GET [ 'page' ];
// 是否为空,是否小于0,是否不是数字。//如果其中有一个是,那么就=1
if ( empty ( $_page )|| $_page < 0 || ! is_numeric ( $_page )) {
$_page = 1;
} else {
$_page = intval ( $_page ); // 如果是数字,但是小数,那么就$_page = intval($_page);转换成整数
}
} else {
$_page = 1;
}
$_pagesize = 10;
$_num = _num_rows( _query ( "SELECT tg_id FROM tg_user" ) );
if ( $_num ==0) {
$_pageabsolute =1;
} else {
$_pageabsolute = ceil ( $_num / $_pagesize );
}
//当页码大于总页码的时候,就会返回到总页码的最后一页
if ( $_page > $_pageabsolute ) {
$_page = $_pageabsolute ;
}
$_pagenum = ( $_page - 1) * $_pagesize ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值