本文主要和大家分享php实现仿百度分页的实例,希望能帮助到大家,我们先来看一下效果图。

基本策略
1, 首先要查询总记录数
2, 设置每页显示的数量并计算总页数
3, 增加一个get传值num代表当前访问的是哪一页,如果没有num的get传值,应该设置默认的当前页为第一页!
4, 就拿一个字符串来保存页码链接,这个字符串也叫作页码字符串!
5, 在查询的时候,就应该使用limit子句进行限制(limit子句分页原理)
立即学习“PHP免费学习笔记(深入)”;
完成仿百度分页功能
分页需求
1, 当前页是前3页的时候,显示的初始页$startNum是1,显示的最后一页$endNum是5
2, 当前页是第4页的时候,$startNum为2,$endNum = $startNum +4, 当前页是第5页的时候,$startNum为3,依次类推
3, 页码的起始位置不能超过总页数 $pages – 4;

代码如下:




代码
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | $pageNum = isset( $_GET [ 'num' ])? $_GET [ 'num' ]: 1;
$rowsPerPage = 5;
$sql = "select count(*) as sum frompublish" ;
$result = my_query( $sql );
$row = mysql_fetch_assoc( $result );
$rowCount = $row [ 'sum' ];
$pages = ceil ( $rowCount / $rowsPerPage );
$strPage = '' ;
$strPage .= "<ahref='./list_father.php?num=1'>首页</a>" ;
$preNum = $pageNum == 1 ? 1 : $pageNum -1;
$strPage .= "<ahref='./list_father.php?num=$preNum'>上一页</a>" ;
if ( $pageNum <=3){
$startNum = 1;
} else {
$startNum = $pageNum - 2;
}
if ( $startNum > $pages - 4){
$startNum = $pages -4;
}
if ( $startNum <=1){
$startNum =1;
}
$endNum = $startNum +4;
if ( $endNum >= $pages ){
$endNum = $pages ;
}
for ( $i = $startNum ; $i <= $endNum ; $i ++){
if ( $i == $pageNum ){
$strPage .= "<a href='./list_father.php?num=$i'><fontcolor='red'>$i</font></a>" ;
} else {
$strPage .= "<a href='./list_father.php?num=$i'>$i</a>" ;
}
}
$nextNum = $pageNum == $pages ? $pages : $pageNum +1;
$strPage .= "<a href='./list_father.php?num=$nextNum'>下一页</a>" ;
$strPage .= "<ahref='./list_father.php?num=$pages'>尾页</a>" ;
$offset = $rowsPerPage *( $pageNum -1);
$sql = "select * from publish left joinuser on pub_owner=user_name order by pub_time desc limit$offset,$rowsPerPage" ;
$result =my_query( $sql );
|
登录后复制
相关推荐:
分享一个JavaScript仿百度分页函数的示例代码
php数字分页类代码(仿百度分页效果)
jQuery实现的仿百度分页足迹效果代码_jquery
以上就是php实现仿百度分页的详细内容,更多请关注php中文网其它相关文章!