+ -
当前位置:首页 → 问答吧 → 分享下自己的分页函数,可任意改样式

分享下自己的分页函数,可任意改样式

时间:2009-06-13

来源:互联网

本帖最后由 羊柿得 于 2009-6-13 21:02 编辑

当前页为2时可显示9页连接
下载 (9.81 KB)
2009-6-13 21:00

当前页为最后页时显示9页连接
下载 (9.02 KB)
2009-6-13 21:00

中间无论怎么点都是9页连接,当然这个连接自己随便改
下载 (10.4 KB)
2009-6-13 21:00

那个地方可以更完美点,麻烦指出,谢谢!
代码:
<?php
//分页
function page($pageno,$count){
    $off_set=4;//偏移
    $page_pel=9;//面板容量
    //$count=ceil($pg_last/$pagesize);   //总页数
    if($count<=$page_pel){
        $minpage=1;                    //分页导航最小页值
        $maxpage=$count;               //分页导航最大页值
    }
    if($count>$page_pel){
        if(($pageno-$off_set)>0){
            $minpage=$pageno-$off_set;
        }else{
            $minpage=1;
        }
        if(($pageno+$off_set)<=$count){
            $maxpage=$pageno+$off_set;
        }else{
            $minpage=$count-$off_set*2;
            $maxpage=$count;
        }
        if(($pageno+$off_set)<$page_pel){
            $minpage=1;
            $maxpage=$page_pel;
        }
    }
    $url='';
    $url.="<div id='page'>";
    if($pageno==1){
        $url.="<span class='disabled'>首页</span>";
    }else{
        $url.="<a href='?pageno=1'>首页</a>";
    }
    if($pageno>1){
        $url.="<a href='?pageno=".($pageno-1)."'>上一页</a>";
    }else{
        $url.="<span class='disabled'>上一页</span>";
    }
    for($i=$minpage;$i<=$maxpage;$i++){
        if($i==$pageno){
            $url.="<span class='current'>".$i."</span>";
        }else{
            $url.="<a href='?pageno=".$i."'>".$i."</a>";
        }
    }
    if($pageno<$count){
        $url.="<a href='?pageno=".($pageno+1)."'>下一页</a><a href='?pageno=".$count."'>尾页</a>";
    }else{
        $url.="<span class='disabled'>下一页</span><span class='disabled'>尾页</span>";
    }
    $url.="</div>";
    return $url;
}
?>

调用只要两个参数
pageno当前页
$count总页数
当然调用页要做好当前页的判断
基本调用:
[php] include('include/C_mysql.php');
include('include/Function.php');
$db=new Mysql();
$pageno=isset($_GET['pageno'])?intval($_GET['pageno']):1;
$sql="SELECT * FROM `theme`";
$pagesize=4;                             //每页显示记录
$pg_last=$db->rows($sql);       //总记录数,最后页
$count=ceil($pg_last/$pagesize);   //总页数
if($pageno<1) $pageno=1;
if($pageno>$count) $pageno=$count;
$url=page($pageno,$count); //分页
$re_sql=$sql."ORDER BY `id` DESC LIMIT ".($pageno-1)*$pagesize.",".$pagesize;
$query=$db->query($re_sql);
    while($result=$db->fetch_array($query))
    {
  //.....................................................
     }
     echo $url; //显示分页
?>[/php]

作者: 羊柿得   发布时间: 2009-06-13

本帖最后由 羊柿得 于 2009-6-13 21:09 编辑

如下:css样式
#page{ text-align:center;font-size:13px }
#page a{ padding:1px 6px;margin:2px;
            border:1px solid #7fa6e7;
            color:#003fa6;text-decoration:none;
            font-weight:bold }
#page a:visited{ border:1px solid #7fa6e7;
                    color:#003fa6;
                    text-decoration:none;
                    font-weight:bold }
#page a:hover{ border:1px solid #003fa6;
                  background-color:#fdffd7;
                  color:#003fa6;text-decoration:none;
                  font-weight:bold }
#page span.current{ padding:1px 6px;margin:2px;
                       border:1px solid #003fa6;
                       background-color:#003fa6;
                       color:#ffffff;font-weight:bold  }
#page span.disabled{ border:1px solid #7fa6e7;
                        color:#444444;padding:2px 6px;margin:2px; }

作者: 羊柿得   发布时间: 2009-06-13

哎  不错  收藏下

作者: niceup   发布时间: 2009-06-13

谢谢支持!

作者: 羊柿得   发布时间: 2009-06-14

看看

作者: yichao840   发布时间: 2009-06-14