//
分页处理类:
功能:实现分页技术。
本文实例讲述了PHP实现的简单分页类及其详细的使用方法。分享给大家供大家参考,具体如下
<?php
/**
* 分页类
*/
class page{
protected $url;//传入的URL
protected $count;//总页数
public $num;//每页显示的数量
protected $total;//总记录数,总条数
protected $prevnum;//上一页数
protected $nextnum;//下一页数
protected $prev='上一页';//上一页
protected $next='下一页';//下一页
protected $first='首页';//首页
protected $last='尾页';//尾页
protected $start;//开始记录数
protected $end;//结束记录数
protected $page;//当前页
//初始化成员方法 URL 总数 每页显示数
public function __construct($url,$total,$num=10){
$this->url=$url;//填入的url地址
$this->total=$total;//条目总数
$this->num=$num;//每页显示数
$this->page=$_GET['page']?$_GET['page']:1;//获得当前的页数
$this->count=$this->getcount();//总页数
$this->prevnum=$this->getprevnum();//获得上一页数
$this->nextnum=$this->getnextnum();//获得下一页数
$this->start=$this->getstart();//开始记录数
$this->end=$this->getend();//结束记录数
var_dump($this->page);
}
//获得总数的方法
protected function getcount(){
return ceil($this->total/$this->num);
}
//获得开始记录数
protected function getstart(){
return ($this->page-1)*$this->num+1;
}
//获得结束记录数
protected function getend(){
return min($this->page*$this->num,$this->total);
}
//获得上一页的方法
protected function getprevnum(){
if($this->page<=1){
return false;
}else{
return $this->page-1;
}
}
//获得下一页的方法
protected function getnextnum(){
if($this->page>=$this->count){
return false;
}else{
return $this->page+1;
}
}
//获得分页的偏移量
public function offset(){
return ($this->page-1)*$this->num;
}
//公共方法
public function showpage(){
//显示效果为:这是第n页 共n页 从n到x记录 首页 上一页 下一页 尾页
$string='这是第'.$this->page.'页 共'.$this->count.'页 ';
$string.='从第'.$this->start.'条到第'.$this->end.'条记录';
$string.='<a href="'.$this->url.'page=1">首页</a> ';
if($this->prevnum){
$string.='<a href="'.$this->url.'page='.$this->prevnum.'">上一页</a>   ';
}
if($this->nextnum){
$string.='<a href="'.$this->url.'page='.$this->nextnum.'">下一页</a>   ';
}
$string.='<a href="'.$this->url.'page='.$this->count.'">尾页</a>';
return $string;
}
}
?>
云南然成科技有限公司是一家云南本土的获得省科技厅、省财政厅、省国税局、地税局等机构认定的高新技术企业。公司定位于高端网站设计、系统开发、APP开发、微信公众号、微信小程序开发。拥有多个软著权,公司先后为多家事业单位提供服务,比如会泽文化馆、宣威文化馆、中科院昆明植物研究所等。其中中国科学院昆明植物研究所已经进行了长达4年的合作,并且还持续合作中!