• 技术文章 >后端开发 >php教程

    分页类系列之三

    2016-07-25 09:11:43原创649
    分页类之三
    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. ?>
    复制代码
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:分页类系列之三
    上一篇:php的辅助函数功能 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • memcache for windows解决思路• 求宗师帮助啊• 新手,求解决解决• 递归验证用户输入有关问题• 请教php有做成像grid样式的方法吗
    1/1

    PHP中文网