分享一个PHP写的分页类

  作者:bea

分页在web开发中随处可见。新闻多了我们要将新闻分页,文章多了我们要将文章分页,留言多了我们也要将留言分页。分享给大家一个分页类,有了这个分页类,想新闻分页、文章分页、留言分页,只要拿出来用就可以啦!不论你以后开发什么项目,只要有用到分页的地方,这个分页类都可以实现。 先不废话了,直接放上PHP分页类代码: //构造函数,初始化成员属性 function __construct($total, $page=1, $num=5) { $this->total=$to

分页在web开发中随处可见。新闻多了我们要将新闻分页,文章多了我们要将文章分页,留言多了我们也要将留言分页。分享给大家一个分页类,有了这个分页类,想新闻分页、文章分页、留言分页,只要拿出来用就可以啦!不论你以后开发什么项目,只要有用到分页的地方,这个分页类都可以实现。

先不废话了,直接放上PHP分页类代码:

//构造函数,初始化成员属性
function __construct($total, $page=1, $num=5) {
$this->total=$total;
$this->page=$page;
$this->num=$num;
$this->pageNum=$this->getPageNum();
$this->offset=$this->getOffset();
}

//获得分页的总页数
private function getPageNum(){
return ceil($this->total/$this->num);
}

private function getNextPage() {
if($this->page==$this->pageNum)
return false;
else
return $this->page+1;
}

private function getPrevPage() {
if($this->page==1)
return false;
else
return $this->page-1;
}
//数据库查询的偏移量
private function getOffset() {
return ($this->page-1)*$this->num;
}
//当前页开始的记录数
private function getStartNum() {
if($this->total==0)
return 0;
else
return $this->offset+1;
}
//当前页结束的记录数
private function getEndNum() {
return min($this->offset+$this->num,$this->total);
}

public function getPageInfo(){
$pageInfo=array(
"row_total" => $this->total,
"row_num" => $this->num,
"page_num" => $this->getPageNum(),
"current_page"=> $this->page,
"row_offset" => $this->getOffset(),
"next_page" => $this->getNextPage(),
"prev_page" => $this->getPrevPage(),
"page_start" => $this->getStartNum(),
"page_end" => $this->getEndNum()
);
return $pageInfo;
}
}
?>
本分页类由LAMP兄弟连高老师提供,供交流使用。信鸽网首发,转载请保留链接http://www.xinge360.com

有用  |  无用

猜你喜欢