Pagination category three
- class Page {
- private $total; //Query the total number of records of all data
- private $page; //The current page
- private $num; //Display the records of each page Number
- private $pageNum; //How many pages in total? private $offset; //Get the starting offset number of the record from the database
-
- 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;
- }
- //Offset of database query
- private function getOffset() {
- return ($ this->page-1)*$this->num;
- }
- //The number of records at the beginning of the current page
- private function getStartNum() {
- if($this->total==0)
- return 0 ;
- else
- return $this->offset+1;
- }
- //The number of records at the end of the current page
- 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;
- }
- }
- ?>
-
-
Copy code
|