PHP分页类集锦(3)

//-------------------------具体演示举例-------------------------------
/*
//(前面程序略)
include("pageft.php"); //包含“pageft.php”文件
//取得总信息数
$result=mysql_query("select * from mytable");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。
pageft($total,10);
//现在产生的全局变量就派上用场了:
$result=mysql_query("select * from mytable limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){
//(列表内容略)
}
//输出分页导航条代码:
echo $pagenav;
//(后面程序略)
*/
?>

分页类系列之三

复制代码 代码如下:


<?php
class Page {
    private $total; //查询所有的数据总记录数
    private $page; //当前第几页
    private $num; //每页显示记录的条数
    private $pageNum; //一共多少页
    private $offset; //从数据库中取记录的开始偏移数
    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;
    }
}
?>

3种分页类使用起来效率都不错,也都很简单,这里推荐给大家。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c152096df087d99a62de20964c190a15.html