亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

封裝分頁(yè)類

創(chuàng)建page.class.php文件進(jìn)行分頁(yè)類的封裝處理:

具體代碼如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 下午 5:08
 */
class Page{
    private $total;  //總記錄數(shù)
    private $pagesize;//每頁(yè)顯示的條數(shù)
    private $current; //當(dāng)前頁(yè)
    private $pagenum; //總的頁(yè)數(shù)
    public function __construct($total,$pagesize,$current)
    {
        $this->total=$total;
        $this->pagesize=$pagesize;
        $this->current=$current;
        $this->pagenum=ceil($this->total/$this->pagesize);
    }
    //獲取SQL中的limit條件
    public function  getLimit(){
        //計(jì)算limit條件
        $lim=($this->current-1)*$this->pagesize; //每頁(yè)顯示開始的記錄數(shù)
        return $lim.','.$this->pagesize;
    }
    //獲得url參數(shù),用于在生成分頁(yè)鏈接時(shí)保存原有的GET參數(shù)
    private function getUrlParams(){
        //去掉page參數(shù)并重新生成GET參數(shù)字符串
        $params=$_GET;
        unset($params['page']);
        return http_build_query($params);
    }
    //獲取分頁(yè)鏈接
    public function showPage(){
        //如果少于1頁(yè)則不顯示分頁(yè)導(dǎo)航
        if($this->pagenum<=1){
            return '';
        }
        //獲取原來(lái)的GET參數(shù)
        $url=$this->getUrlParams();
        //拼接URL參數(shù)
        $url=$url?"?$url&page=":"?page=";
        //拼接"首頁(yè)"
        $first='<a href="'.$url.'1">[首頁(yè)]</a>';
        //拼接上一頁(yè)
        $prev=($this->current==1)?'[上一頁(yè)]':'<a href="'.$url.($this->current-1).'">[上一頁(yè)]</a>';
        //拼接下一頁(yè)
        $next=($this->current==$this->pagenum)?'[下一頁(yè)]':'<a href="'.$url.($this->current+1).'">[下一頁(yè)]</a>';
        //拼接尾頁(yè)
        $last='<a href="'.$url.$this->pagenum.'">[尾頁(yè)]</a>';
        //組合最終樣式
        return "當(dāng)前為{$this->current}/{$this->pagenum} {$first} {$prev} {$next} {$last}";
    }
}

1,需要知道分頁(yè)需要哪些基本屬性

private $total; ?//總記錄數(shù)(通過(guò)查詢數(shù)據(jù)庫(kù)獲取)
private $pagesize;//每頁(yè)顯示的條數(shù)(自己根據(jù)需要設(shè)置)
private $current; //當(dāng)前頁(yè)(默認(rèn)為第一頁(yè),每次點(diǎn)擊下一頁(yè)即加1)
private $pagenum; //總的頁(yè)數(shù)(通過(guò) 總記錄數(shù)/每頁(yè)顯示的條數(shù) 向上取整 或者通過(guò) (總記錄數(shù)-1/每頁(yè)顯示的條數(shù))+1)來(lái)計(jì)算得出

2,展示頁(yè)面如下:

微信圖片_20180306143845.png


繼續(xù)學(xué)習(xí)
||
<?php echo "分頁(yè)類的封裝處理";
提交重置代碼