ホームページ >バックエンド開発 >PHPチュートリアル >非常に使いやすいPHPページングクラスと呼び出しメソッド

非常に使いやすいPHPページングクラスと呼び出しメソッド

WBOY
WBOYオリジナル
2016-07-25 08:52:22958ブラウズ
  1. /**

  2. * php ページング コード
  3. * 編集: bbs.it-home.org
  4. */
  5. class Page {
  6. private $total; //合計レコード
  7. private $pagesize;//ページごとに表示されるレコードの数
  8. private $limit; //制限
  9. private $page; // 現在のページ番号
  10. private $url; // 両方のデジタル ページングの量Side
  11. // コンストラクターの初期化

  12. public function __construct($_total, $_pagesize) {
  13. $this->total = $_total : 1; $_pagesize;
  14. $this->pagenum = ceil($this->total / $this->pagesize);
  15. $this->setPage(); ;limit = " LIMIT ".($this->page-1)*$this->pagesize.",$this->pagesize"
  16. $this->url = $this->setUrl( );
  17. $ this->bothnum = 2;
  18. }
  19. //インターセプター

  20. プライベート関数 __get($_key) {
  21. return $this->$_key; /p>
  22. // 現在のページ番号を取得します

  23. private function setPage() {
  24. if (!empty($_GET['page'])) {
  25. if ($_GET['page'] > 0) {
  26. if ($_GET['page'] > $this->pagenum) {
  27. return $this->pagenum; } else {
  28. return $_GET['page'] }
  29. } else {
  30. return 1 ;
  31. } else {
  32. return 1;
  33. }
  34. //アドレス取得

  35. private function setUrl() {
  36. $_url = $_SERVER["REQUEST_URI "];
  37. $ _par = parse_url($_url);
  38. if (isset($_par['query'])) {
  39. parse_str($_par['query'],$_query);
  40. unset($_query[' page']);
  41. $_url = $_par['path'].'?'.http_build_query($_query)
  42. }
  43. return $_url; // デジタル ディレクトリ
  44. プライベート関数 pageList() {
  45. for ( $i=$this ->bothnum;$i>=1;$i--) {
  46. $_page = $this->page-$i;
  47. if ($_page url.'&page='.$_page.'"
  48. }
  49. $_pagelist .= ' '.$this->page.' ';
  50. for ($i=1;$ibothnum;$i++) {
  51. $_page = $this->page+$i;
  52. if ($_page > $this->pagenum)
  53. $_pagelist .= ' '.$_page.' ';
  54. }
  55. return $_pagelist;
  56. }
  57. //ホームページ

  58. private function first() {
  59. if ($this->page > $this->bothnum+1) {
  60. return ' 1 .. .';
  61. }
  62. }
  63. //前のページ

  64. private function prev() {
  65. if ($this->page == 1) {
  66. return ' 前のページ'
  67. }
  68. return ' 前のページ ';
  69. }
  70. //次のページ

  71. private function next() {
  72. if ($this->page = = $this->pagenum) {
  73. return '次のページ'
  74. }
  75. return ' 次のページ ';
  76. }
  77. //最後のページ

  78. private function last() {
  79. if ($this->pagenum - $this->page > $this->bothnum) {
  80. return ' ...'.$this->pagenum.' ';
  81. }
  82. }
  83. / /ページング情報

  84. public関数 showpage() {
  85. $_page .= $this->first();
  86. $_page .= $this->last( ); .= $this->prev();
  87. $_page .= $this->next();
  88. return $_page;
  89. ;
  90. ページネーションのスタイル:
  91. 使用説明書:
  92. $_page = new Page($_total,$_pagesize); //$_total はデータセット内のアイテムの総数、$_pagesize は各ページに表示される数です。
  93. ?>
コードをコピー

非常に使いやすいPHPページングクラスと呼び出しメソッド


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