/**
* ページネーションクラス
* 2011/8/31
*kcj
**/
クラスページ{
Private $total; // 合計データ レコードをクエリします
Private $page // 現在のページ
//private $pagesize //各ページに表示されるアイテムの数
Private $pagenum // 合計ページ数
Private $num; //各ページに表示されるレコードの数
Private $offset; // データベースからレコードの開始オフセットを取得します
関数 __construct($total,$page=1,$num=5){
$this->total=$total;
$this->page=$page;
$this->num=$num;
$this->pagenum=$this->getPageNum();
$this->offset=$this->getOffset();
}
プライベート関数 getPageNum(){
ceil($this->total/$this->num) を返します
}
プライベート関数 getNextPage(){ //次のページ
If($this->page==$this->pagenum){
false を返します
}else {
$this->page+1 を返す
}
}
プライベート関数 getPrevPage(){
if($ this-> page == 1){
false を返します
}else {
$this->page-1 に戻る
}
}
プライベート関数 getOffset(){
戻り値 ($this->page-1)*$this->num;
}
プライベート関数 getStartNum(){
If ($this->total==0) {
0 を返します。
}else {
return $this->offset+1;
}
}
プライベート関数 getEndNum(){
return min($this->offset+$this->num,$this->total);
}
パブリック関数 getPageInfo(){
$pageInfo=array(
"row_total"=>$this->合計、
"row_num" =>$this->num、
"page_num" =>$this->getPageNum()、
"current_page"=>$this->ページ、
"row_offset"=>$this->getOffset()、
"next_page"=>$this->getNextPage()、
"prev_page"=>$this->getPrevPage()、
"page_start"=>$this->getStartNum()、
"page_end" =>$this->getEndNum()
);
$ ページ情報を返します
}
}
?>
chaojie2009 さんのコラムより抜粋