Heim >Backend-Entwicklung >PHP-Tutorial >php分页类实例 php与mysql简单分页类代码

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

WBOY
WBOYOriginal
2016-07-25 08:51:30900Durchsuche
  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. }
复制代码


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