Merangkum kelas paging

Buat fail page.class.php untuk merangkum kelas paging:

Kod khusus adalah seperti berikut:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 下午 5:08
 */
class Page{
    private $total;  //总记录数
    private $pagesize;//每页显示的条数
    private $current; //当前页
    private $pagenum; //总的页数
    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(){
        //计算limit条件
        $lim=($this->current-1)*$this->pagesize; //每页显示开始的记录数
        return $lim.','.$this->pagesize;
    }
    //获得url参数,用于在生成分页链接时保存原有的GET参数
    private function getUrlParams(){
        //去掉page参数并重新生成GET参数字符串
        $params=$_GET;
        unset($params['page']);
        return http_build_query($params);
    }
    //获取分页链接
    public function showPage(){
        //如果少于1页则不显示分页导航
        if($this->pagenum<=1){
            return '';
        }
        //获取原来的GET参数
        $url=$this->getUrlParams();
        //拼接URL参数
        $url=$url?"?$url&page=":"?page=";
        //拼接"首页"
        $first='<a href="'.$url.'1">[首页]</a>';
        //拼接上一页
        $prev=($this->current==1)?'[上一页]':'<a href="'.$url.($this->current-1).'">[上一页]</a>';
        //拼接下一页
        $next=($this->current==$this->pagenum)?'[下一页]':'<a href="'.$url.($this->current+1).'">[下一页]</a>';
        //拼接尾页
        $last='<a href="'.$url.$this->pagenum.'">[尾页]</a>';
        //组合最终样式
        return "当前为{$this->current}/{$this->pagenum} {$first} {$prev} {$next} {$last}";
    }
}

1, anda perlu tahu apakah atribut asas yang diperlukan untuk paging

jumlah; //Jumlah bilangan rekod (diperolehi dengan menanyakan pangkalan data)

saiz halaman $peribadi; //Bilangan item yang dipaparkan pada setiap halaman (ditetapkan mengikut keperluan anda)
private $current; ialah halaman pertama, setiap kali anda mengklik halaman seterusnya, ia akan meningkat sebanyak 1 )
private $pagenum //Jumlah halaman (dikira dengan membulatkan jumlah rekod/bilangan item yang dipaparkan pada setiap halaman; atau (jumlah rekod-1/bilangan item yang dipaparkan pada setiap halaman)+1)

2, halaman paparan adalah seperti berikut:

微信图片_20180306143845.png


Meneruskan pembelajaran
||
<?php echo "分页类的封装处理";
  • Cadangan kursus
  • Muat turun perisian kursus