首页 >后端开发 >php教程 >php分页类实例 php与mysql简单分页类代码

php分页类实例 php与mysql简单分页类代码

WBOY
WBOY原创
2016-07-25 08:51:30900浏览
  1. class PageModel {
  2. /**
  3. * 获取分页数组
  4. * @param unknown $page 当前页面数
  5. * @param unknown $goodsCount 商品总数
  6. * @param unknown $pageLength 每个页面展示页面数
  7. */
  8. public static function getPageArr($page, $goodsCount, $pageCountLength, $pageLength) {
  9. //页面总数
  10. $allPageCount = ceil($goodsCount / $pageLength);
  11. //如果页面总是比长度短,设定页面长度为页面总数
  12. if ($allPageCount $allPageCount = ceil($goodsCount / $pageLength);
  13. }
  14. //总页面数一页展示完
  15. if ($allPageCount for ($i = 0; $i $arr[] = array('page' => $i + 1);
  16. }
  17. return $arr;
  18. }
  19. //前后的长度
  20. $halfLength = floor($pageCountLength / 2);
  21. //因为太小,所以放原来位置,左边
  22. if ($page $arr = array();
  23. for ($i = 0; $i $arr[] = array('page' => $i + 1);
  24. }
  25. return $arr;
  26. }
  27. //太大,只取到边缘,超出也只取到边缘
  28. if ($page > $allPageCount - floor($pageCountLength / 2)) {
  29. for ($i = -$pageCountLength; $i $arr[] = array('page' => $allPageCount + $i + 1);
  30. }
  31. return $arr;
  32. }
  33. //中间的数,把中间的取出来
  34. for ($i = -$halfLength; $i $arr[] = array('page' => $page + $i);
  35. }
  36. return $arr;
  37. }
  38. }
复制代码

二、php分页类代码

代码:

  1. class Helper_Page{

  2. /** 总信息数 */

  3. var $infoCount;
  4. /** 总页数 */
  5. var $pageCount;
  6. /** 每页显示条数 */
  7. var $items;
  8. /** 当前页码 */
  9. var $pageNo;
  10. /** 查询的起始位置 */
  11. var $startPos;
  12. /** 下一页 */
  13. var $nextPageNo;
  14. /** 上一页 */
  15. var $prevPageNo;
  16. function Helper_Page($infoCount, $items, $pageNo)

  17. {
  18. $this->infoCount = $infoCount;
  19. $this->items = $items;
  20. $this->pageNo = $pageNo;
  21. $this->pageCount = $this->GetPageCount();
  22. $this->AdjustPageNo();
  23. $this->startPos = $this->GetStartPos();
  24. }
  25. function AdjustPageNo()
  26. {
  27. if($this->pageNo == '' || $this->pageNo $this->pageNo = 1;
  28. if ($this->pageNo > $this->pageCount)
  29. $this->pageNo = $this->pageCount;
  30. }
  31. /**
  32. * 下一页
  33. */
  34. function GoToNextPage()
  35. {
  36. $nextPageNo = $this->pageNo + 1;
  37. if ($nextPageNo > $this->pageCount)
  38. {
  39. $this->nextPageNo = $this->pageCount;
  40. return false;
  41. }
  42. $this->nextPageNo = $nextPageNo;
  43. return true;
  44. }
  45. /**
  46. * 上一页
  47. */
  48. function GotoPrevPage()
  49. {
  50. $prevPageNo = $this->pageNo - 1;
  51. if ($prevPageNo {
  52. $this->prevPageNo = 1;
  53. return false;
  54. }
  55. $this->prevPageNo = $prevPageNo;
  56. return true;
  57. }
  58. function GetPageCount()
  59. {
  60. return ceil($this->infoCount / $this->items);
  61. }
  62. function GetStartPos()
  63. {
  64. return ($this->pageNo - 1) * $this->items;
  65. }
  66. }
复制代码


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn