ホームページ >バックエンド開発 >PHPチュートリアル >PHP ページング クラスの例 PHP と mysql の単純なページング クラス コード

PHP ページング クラスの例 PHP と mysql の単純なページング クラス コード

WBOY
WBOYオリジナル
2016-07-25 08:51:30900ブラウズ
  1. class PageModel {
  2. /**
  3. * ページング配列を取得します
  4. * @paramunknown $page 現在のページ数
  5. * @paramunknown $goodsCount 商品の総数
  6. * @paramunknown $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. //総ページ数を1ページに表示します
  15. if ($allPageCount for ($i = 0; $i $arr[] = array( 'page' => $i + 1);
  16. }
  17. return $arr; }
  18. //前後の長さ
  19. $halfLength = Floor($pageCountLength / 2) ;
  20. //小さすぎるので元の位置に置きます
  21. if ($page <= $halfLength) {
  22. $arr = array();
  23. for ($i = 0; $i < $pageCountLength; $i ++) {
  24. $arr[] = array ('page' => $i + 1);
  25. return $arr;
  26. // 大きすぎる場合はエッジのみそれを超えた場合は端のみを取得します
  27. if ($page > $allPageCount - Floor ($pageCountLength / 2)) {
  28. for ($i = -$pageCountLength; $i $arr[] = array('page' => $allPageCount + $i + 1)
  29. }
  30. return $arr }
  31. // 真ん中の数字を取り出します
  32. for ($i = -$halfLength; $i $arr[] = array('page' => $page + $i); $arr;
  33. }
  34. }
  35. コードをコピー
2. PHP ページング クラス コード
コード:

class Helper_Page{

/**メッセージの総数*/

var $infoCount
/**総ページ数*/
    var $pageCount; ;
  1. /**ページごとに表示されるアイテムの数*/
  2. var $items;
  3. /**現在のページ番号*/
  4. var $startPos; */
  5. var $nextPageNo;
  6. /**クエリの開始位置*/
  7. var $prevPageNo;

  8. function Helper_Page($infoCount, $items, $pageNo)

  9. {
  10. $this-> ;infoCount = $infoCount;
  11. $this->items = $items;
  12. $this->pageCount = $this->GetPageCount(); ;AdjustPageNo();
  13. $this->startPos = $this->GetStartPos();
  14. 関数 AdjustPageNo()
  15. {
  16. if($this->pageNo == '' || $this-> ;pageNo < 1)
  17. $this->pageNo = 1;
  18. if ($this->pageNo > $this->pageCount)
  19. $this->pageNo = $this->pageCount; }
  20. /**次のページ*/
  21. function GoToNextPage()
  22. {
  23. $nextPageNo = $this->pageNo + 1;
  24. if ($nextPageNo > $this->pageCount)
  25. {
  26. $this- >nextPageNo = $this->pageCount;
  27. return false;
  28. $this->nextPageNo = $nextPageNo;
  29. }
  30. /**前のページ*/
  31. function GotoPrevPage()
  32. {
  33. $prevPageNo = $this->prevPageNo - 1;
  34. if ($prevPageNo $this->prevPageNo = 1;
  35. $this->prevPageNo = $prevPageNo ;
  36. true を返す
  37. }
  38. 関数 GetPageCount()
  39. {
  40. return ceil($this->infoCount / $this->items)
  41. }
  42. function GetStartPos()
  43. {
  44. return ($this->ページ番号 - 1) * $this->items
  45. }
  46. }

  47. コードをコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。