用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1871|回复: 5
收起左侧

[库 Library] 分页类

[复制链接]
发表于 2018-1-29 15:18:10 | 显示全部楼层 |阅读模式
本帖最后由 my_beginner 于 2018-1-29 15:44 编辑
PHP复制代码
$money_one = (1+2);
class newPage{
 
        var $sumNum             =       0; //记录总个数
        var $pageNum    =       20; //每行显示多少页,默认显示 20 页
        var $sumPage    =       0; //总页数
        var $thisPage   =       0; //当前页数
        var $upPage             =       0; //上一页
        var $up10Page   =       0; //上一组
        var $nextPage   =       0; //下一页
        var $next10Page =       0; //下一组
       
        /**
        *       验证并设置当前页数
        *       num 要验证设置的页数
        *       sum 记录总个数
        *       pn 每页显示记录个数,默认每页显示 20 条
        *       $showPN 每行显示多少页,默认显示 20 页
        *       return 验证设置后的当前页数
        **/

        function check_Page($num,$sum,$pn=20,$showPN=20){
               
                if($showPN != $this->pageNum) $this->pageNum    =       $showPN;
                if($sum<1) $sum = 1;
               
                $this->sumNum           =       $sum; //设置记录总个数
                $this->sumPage          =       ceil($sum/$pn); //设置总页数
               
                //设置当前页
                if($num > $this->sumPage){ //当前页>总页数,设置为最后一页
                        $this->thisPage =       $this->$sumPage;
                }elseif($num < 1){ //当前页 < 1,设置为第 1 页
                        $this->thisPage =       1;
                }else{
                        $this->thisPage =       $num;
                }
               
                //设置上一页
                if($this->thisPage > 1){
                        $this->upPage   =       $this->thisPage-1;
                }else{
                        $this->upPage   =       1;
                }
                //设置下一页
                if($this->thisPage < $this->sumPage){
                        $this->nextPage =       $this->thisPage+1;
                }else{
                        $this->nextPage =       $this->sumPage;
                }
                $this->up10Page         =       floor($this->thisPage/$this->pageNum)*$this->pageNum-$this->pageNum; //设置上10页
                $this->next10Page       =       floor($this->thisPage/$this->pageNum)*$this->pageNum+$this->pageNum; //设置下10页
               
                return  $this->thisPage;
        }
       
        /**
        *       格式:5/150/3000 << < 10 11 12 13 14 15 16 17 18 19 > >>
        *       url 要跳转到的页面
        *       return 具体的分页 html 代码
        **/

        function get_htmlPage($url,$_page){
                $html   =       '';
                if($this->thisPage > $this->pageNum-1){ //上一组
                        $html   .=      ' <a class="tips" href="'.$url.'&page='.$this->up10Page.'" title="上'.$this->pageNum.'页"><<</a>';
                }
                if($this->thisPage > 1){ //上一页
                        $html   .=      ' <a class="tips" href="'.$url.'&page='.$this->upPage.'" title="上一页"><</a>';
                }
                $page   =       floor($this->thisPage/$this->pageNum)*$this->pageNum; //循环用的页数
                $i              =       0; //退出循环的页数记录器
                if($page == 0) $i       =       1; //第一行没有 0 页
                while($i<=$this->pageNum && ($page+$i)<=$this->sumPage){ //每次显示9页,不能超过总页数
                        if(($page+$i) == $this->thisPage){ //当前页不用超连接
                                $html   .=      ' <a href="javascript:void(0);" class="current">'.($page+$i).'</a>';
                        }else{
                                $html   .=      ' <a class="tips" href="'.$url.'&page='.($page+$i).'">'.($page+$i).'</a>';
                        }
                        $i++;
                }
                if($this->thisPage < $this->sumPage){ //下一页
                        $html   .=      ' <a class="tips" href="'.$url.'&page='.$this->nextPage.'" title="下一页">></a>';
                }
                if($this->sumPage-$page > $this->pageNum-1){ //下一组
                        $html   .=      ' <a class="tips" href="'.$url.'&page='.$this->next10Page.'" title="下'.$this->pageNum.'页">>></a>';
                }
               
                return $html.' 共'.$this->sumPage.'页/'.$this->sumNum."条记录 第".$this->thisPage."页";
        }
        /**
        *       格式:5/150/3000 << < 10 11 12 13 14 15 16 17 18 19 > >>
        *       url 要跳转到的页面
        *       return 具体的分页 html 代码
        **/

        function get_htmlPage_($url,$_page){
                $html   =       '';
                if($this->thisPage > $this->pageNum-1){ //上一组
                        $html   .=      ' <a class="tips" href="'.$url.'&'.$_page.'='.$this->up10Page.'" title="上'.$this->pageNum.'页"><<</a>';
                }
                if($this->thisPage > 1){ //上一页
                        $html   .=      ' <a class="tips" href="'.$url.'&'.$_page.'='.$this->upPage.'" title="上一页"><</a>';
                }
                $page   =       floor($this->thisPage/$this->pageNum)*$this->pageNum; //循环用的页数
                $i              =       0; //退出循环的页数记录器
                if($page == 0) $i       =       1; //第一行没有 0 页
                while($i<=$this->pageNum && ($page+$i)<=$this->sumPage){ //每次显示9页,不能超过总页数
                        if(($page+$i) == $this->thisPage){ //当前页不用超连接
                                $html   .=      ' <a href="javascript:void(0);" class="current">'.($page+$i).'</a>';
                        }else{
                                $html   .=      ' <a class="tips" href="'.$url.'&'.$_page.'='.($page+$i).'">'.($page+$i).'</a>';
                        }
                        $i++;
                }
                if($this->thisPage < $this->sumPage){ //下一页
                        $html   .=      ' <a class="tips" href="'.$url.'&'.$_page.'='.$this->nextPage.'" title="下一页">></a>';
                }
                if($this->sumPage-$page > $this->pageNum-1){ //下一组
                        $html   .=      ' <a class="tips" href="'.$url.'&'.$_page.'='.$this->next10Page.'" title="下'.$this->pageNum.'页">>></a>';
                }
 
                return $html.' 共'.$this->sumPage.'页/'.$this->sumNum."条记录 第".$this->thisPage."页";
        }
 
    function get_htmlPage_s($act){
        $html   =       '';
        if($this->thisPage > $this->pageNum-1){ //上一组
            $html       .=      ' <a class="tips" style="cursor:pointer;"  title="上'.$this->pageNum.'页"><<</a>';
        }
        if($this->thisPage > 1){ //上一页
            $html       .=      ' <a class="tips" style="cursor:pointer;" title="上一页"><</a>';
        }
        $page   =       floor($this->thisPage/$this->pageNum)*$this->pageNum; //循环用的页数
        $i              =       0; //退出循环的页数记录器
        if($page == 0) $i       =       1; //第一行没有 0 页
        while($i<=$this->pageNum && ($page+$i)<=$this->sumPage){ //每次显示9页,不能超过总页数
            if(($page+$i) == $this->thisPage){ //当前页不用超连接
                $html   .=      ' <a href="javascript:void(0);" style="cursor:pointer;" class="current">'.($page+$i).'</a>';
            }else{
                $html   .=      ' <a class="tips" style="cursor:pointer;">'.($page+$i).'</a>';
            }
            $i++;
        }
        if($this->thisPage < $this->sumPage){ //下一页
            $html       .=      ' <a class="tips" style="cursor:pointer;" title="下一页">></a>';
        }
        if($this->sumPage-$page > $this->pageNum-1){ //下一组
            $html       .=      ' <a class="tips" style="cursor:pointer;" title="下'.$this->pageNum.'页">>></a>';
        }
 
        return $html.' 共'.$this->sumPage.'页/'.$this->sumNum."条记录 第".$this->thisPage."页";
    }
}
 
 
复制代码


同步异步都可以 ,异步需要再前台创建好方法。

newPage.zip

1.44 KB, 下载次数: 19

本版积分规则