• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > PHP开发 > 分享一个简单实用的PHP列表分页类

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

    作者: 分类:PHP开发 点击: 1,458 次
    wordpress CMS主题:ssmay主题

      网上分享的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样式。



      QQ二维码

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

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.