ページネーション カテゴリ 3
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->pageNum=$this->getPageNum; ;
- $this ->offset=$this->getOffset();
-
- プライベート関数 getPageNum(){
- return ceil($this->total/$this->num);
- プライベート関数 getNextPage () {
- if($this->page==$this->pageNum)
- else
- return $this->page+1
- }
- プライベート関数 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; }
- }
- ?>
-
-
-
- コードをコピーします
-
-
-
-
-
-
-
-
|