常用PHP封装分页工具类介绍

作者:袖梨 2022-06-24

分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可。),这样既省时又省力还赚‘工分'。

我封的这个分页工具类还比较完整,有首页,上一页,下一页,末页和可选数量的页码数量(也就是当页面很多时,只显示依据参数传入的个数),还可以依据需求选择是否使用下拉跳转页面功能。

 代码如下复制代码

/**

 * 分页工具类

 */

 

classpage{

 

  /**

   * 返回分页所需字符串

   * @param $pageNum int 显示的页码

   * @param $pageCount int 总的页码数

   * @param $url string 当前页码路径

   * @param $Count string 页码列表里显示的个数

   * @param $selected bool 是否开启下拉框选择功能。默认不开启

   * return $strpage string 分页字符串

   */

  functionshowPage($pageNum,$pageCount,$url,$Count= 5,$selected= false){

    $pageMaxVal=$Count- 1;// 页码到达最大时,页码列表里第一个页码与最大页码的差

    $pageMiddleVal=ceil($Count/ 2);// 依据需要显示页码个数得到的中间值

    $pageMiddleCha=floor($Count/ 2);// 依据需要显示页码个数得到的当前页码与第一个页码的差

 

    // 判断url是否已经存在?

    if(!strpos($url,'?')){// 未存在?

      $url.='?'

    }else{

      $url.='&'

    }

 

    // 首页

    $strpage="首页";

 

    // 上一页

    $preNum=$pageNum> 1 ?$pageNum- 1 : 1;

 

    // 当页码为第一页时取消上一页按钮的功能

    $strpage.=$pageNum== 1 ?"上一页":"上一页";

 

    // 显示的页码列表中的第一个页码

    $startPage=$pageNum>$pageMiddleVal?$pageNum-$pageMiddleCha: 1;

    // 起始页码最大值 = 总页数 - 4

    if($pageCount-$pageMaxVal> 0 &&$startPage>$pageCount-$pageMaxVal){

      $startPage=$pageCount-$pageMaxVal;

    }

 

    // 显示的页码列表中的最后一个页码

    $endPage=$startPage<($pageCount-$pageMaxVal) ?$startPage+$pageMaxVal:$pageCount;

 

    // 中间数字页码

    for($i=$startPage;$i<=$endPage;$i++){

      if($i==$pageNum){

        $strpage.="$i";

      }else{

        $strpage.="$i";

      }

    }

 

    // 下一页

    $nextNum=$pageNum<$pageCount?$pageNum+ 1 :$pageCount;

 

    // 当页码为最后一页时取消下一页按钮的功能

    $strpage.=$pageNum==$pageCount?"下一页":"下一页";

 

    // 末页

    $strpage.="末页";

 

    // 总页数

    $strpage.="总页数:{$pageCount}  ";

 

    // 判断是否是否选择页码功能

    if($selected){// 选择了

      $strpage.="当前页码:

        for($i= 1;$i<=$pageCount;$i++){

          if($i==$pageNum){

            $strpage.="

          }else{

            $strpage.="

          }

        }

         

      $strpage.="";

    }

 

    return$strpage;

  }

 

}

 

接下来应该会PO完MySQL剩余部分知识吧,希望大家继续关注。

相关文章

精彩推荐