wordpress CMS主题 微信
Home > PHP开发 > 分享一个简单实用的PHP列表分页类

分享一个简单实用的PHP列表分页类

高时银博客 PHP开发 点击: 195 次 0 1
  • 标签:
  • 网上分享的PHP分页类是非常多,有的功能上很强大,但是代码确实有一点比较多,一些初学者可能很难理解,也就没法用。所以,高时银博客在这里分享一下轻量级的非常小巧而且易懂的PHP列表分页类,供大家参照。

    class PageTool{

    public function __construct(){

    }

    /*显示分页
    例: index.php?cat_id=3&act=del&page=1
    */
    public function show($total,$perpage=10,$page=1){

    //获取页面URL前置
    $url = $_SERVER['REQUEST_URI'];
    $url_arr = parse_url($url);
    //获取URL后置参数,分解成数组
    $query = array();
    if(isset($url_arr['query'])){
    parse_str($url_arr['query'],$query);
    }

    //销毁 $query['page'],因为page会变化,
    //而 分类ID号 在分页页面 是不会变的。所以作为固定前置
    if(isset($query['page'])){
    unset($query['page']);
    }

    //组合后置参数为字符串
    $afterparam = !empty($query) ? http_build_query($query).'&' : '';

    //组合 固定URL前置
    $url2 = $url_arr['path'].'?'.$afterparam;

    //显示分页
    $num = ceil($total/$perpage); //总页数
    if($page < 1){//如查页数 小于 1 ,就等于1
    $page = 1;
    }
    if($page > $num){ //如果 页数 大于 总页数,就等于总页数
    $page = $num;
    }
    $pages = '<span style="margin-right:10px;" class="f_l f6">总计 <b>'.$total.'</b> 个记录</span>';
    //如果当前页面不是首页,就显示首页链接
    if( $page > 1){
    $pages .= '<a href="'.$url2.'page='.($page-1).'" >上一页</a> ';
    }

    for($i=1; $i<=$num; $i++){
    if($i==$page){
    $pages .= '<span class="page_now">'.$i.'</span> ';//当前页
    }else{
    $pages .= '<a href="'.$url2.'page='.$i.'" >'.$i.'</a> ';
    }

    }
    //如果当前页面不是尾页,就显示尾页链接
    if( $page < $num){
    $pages .= '<a href="'.$url2.'page='.($page+1).'" >下一页</a> ';
    }
    return $pages;
    }

    }

    就是上面这样一个简单的PHP分页类,只有一个方法,没有任何属性。调用方法如下:

    $total = 100; //商品总数
    $perpage = 2; //每页显示多少条
    $page = isset($_GET['page']) ? $_GET['page']+0 : 1; //当前页

    $start = ($page-1)*$perpage; //从哪一条开始
    $list = $good->getCatGoods($cid,$perpage,$start); //这里是分类目录类中的一个方法,调用商品列表,这里就不提供了
    //分页
    $fenye = new PageTool();
    $show = $fenye->show($total,$perpage,$page); //调用分页方法

    这样,在网页上就可以看到如下图的效果:

    分享一个简单实用的PHP列表分页类

    没有写CSS样,所以,难看了点,大家可以自己写个好看的CSS样式。


    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201707215470.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论