PHP分页方法,中间加省略号

中间加省略号的PHP分页方法

实在受不了搜索到的教程,根本无法使用,于是自己写了一个。

 /**
     * auther 阿修罗  qq 610176732
     * [page description]  分页
     * @param  [type] $sum     [总页数]
     * @param  [type] $pagenum [页数]
     * @return [type]          [description]
     */
    function page($sum,$pagenum){
        $span = "";
        if($sum > 0){
            if($pagenum <=0){$pagenum = 1;}
            if($pagenum >= $sum){$pagenum = $sum;}

            $k = $pagenum-1 <= 0 ? 1:$pagenum-1;
            $m = $sum - 6 <= 0 ?1:$sum-6;
            $pageM = $pagenum == 1?$pagenum+2:$pagenum + 1;

            if($sum - $pagenum >= 6){
                for($i = $k; $i <= $pageM; $i++){
                    $class = $i == $pagenum?'Pcurrent':'Pnum';
                    $span .= '<a class="'.$class.'" onclick="get_logs('.$i.')">'.$i.'</a>';
                }
                $span .= '<a class="Pnum"  >....</a>';
                for($i = $sum - 3; $i <= $sum; $i++){
                    $span .= '<a class="Pnum" onclick="get_logs('.$i.')" >'.$i.'</a>';
                }
            }else{
                for($i = $m; $i <= $sum; $i++){
                    $class = $i == $pagenum?'Pcurrent':'Pnum';
                    $span .= '<a class="'.$class.'" onclick="get_logs('.$i.')">'.$i.'</a>';
                }
            }
        }
        return $span;
    }
        /**
     * auther 阿修罗  qq 610176732
     * [page description]  分页
     * @param  [type] $sum     [总页数]
     * @param  [type] $pagenum [页数]
     * @return [type]          [description]
     */
 function get_logs(){
        $param = $this->post;
        $p= $param['p'];
        //这里你需要改造成自己的查询总数
        $count = db()->count('access_log','*',$where);
        $start = ($p-1)*$pageSize;
        $totalPage   = ceil($count/$pageSize);
         //这里你需要改造成自己的SQL查询,适配自己的框架
        $data = db()->select('access_log','*',[
            'AND'=>$where,
            'LIMIT' => [$start, $pageSize],
            "ORDER" => [
                'time_local'=>'DESC'
            ]
        ]);
        $span = '<a class="Pnum" onclick="get_logs(1)" >首页</a>';
        $span .= $this->page($totalPage,$p);
        $span .= '<a class="Pnum" onclick="get_logs('.$totalPage.')" >尾页</a>';
        $span .= '<span class="Pcount">共'.$count.'条</span>';
        $this->success('success',[
            'data'=>$data,
            'page'=>$span
        ]);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏季未央

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值