Heim  >  Artikel  >  Backend-Entwicklung  >  分页类系列之三

分页类系列之三

WBOY
WBOYOriginal
2016-07-25 09:11:431002Durchsuche
分页类之三
  1. class Page {
  2. private $total; //查询所有的数据总记录数
  3. private $page; //当前第几页
  4. private $num; //每页显示记录的条数
  5. private $pageNum; //一共多少页
  6. private $offset; //从数据库中取记录的开始偏移数
  7. function __construct($total, $page=1, $num=5) {
  8. $this->total=$total;
  9. $this->page=$page;
  10. $this->num=$num;
  11. $this->pageNum=$this->getPageNum();
  12. $this->offset=$this->getOffset();
  13. }
  14. private function getPageNum(){
  15. return ceil($this->total/$this->num);
  16. }
  17. private function getNextPage() {
  18. if($this->page==$this->pageNum)
  19. return false;
  20. else
  21. return $this->page+1;
  22. }
  23. private function getPrevPage() {
  24. if($this->page==1)
  25. return false;
  26. else
  27. return $this->page-1;
  28. }
  29. //数据库查询的偏移量
  30. private function getOffset() {
  31. return ($this->page-1)*$this->num;
  32. }
  33. //当前页开始的记录数
  34. private function getStartNum() {
  35. if($this->total==0)
  36. return 0;
  37. else
  38. return $this->offset+1;
  39. }
  40. //当前页结束的记录数
  41. private function getEndNum() {
  42. return min($this->offset+$this->num,$this->total);
  43. }
  44. public function getPageInfo(){
  45. $pageInfo=array(
  46. "row_total" => $this->total,
  47. "row_num" => $this->num,
  48. "page_num" => $this->getPageNum(),
  49. "current_page" => $this->page,
  50. "row_offset" => $this->getOffset(),
  51. "next_page" => $this->getNextPage(),
  52. "prev_page" => $this->getPrevPage(),
  53. "page_start" => $this->getStartNum(),
  54. "page_end" => $this->getEndNum()
  55. );
  56. return $pageInfo;
  57. }
  58. }
  59. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn