ホームページ  >  記事  >  バックエンド開発  >  PHP ページング クラス コードとページング呼び出しのスクリーンショット

PHP ページング クラス コードとページング呼び出しのスクリーンショット

WBOY
WBOYオリジナル
2016-07-25 08:52:36737ブラウズ
  1. class Page {

  2. private $total; //合計レコード数
  3. private $pagesize;//ページごとに表示するレコード数
  4. private $limit; private $ page; // 現在のページ番号
  5. private $pagenum; // 合計ページ番号
  6. private $url; // 両側で維持されるデジタル ページングの量

    p>//構築メソッド 初期化
  7. public function __construct($_total, $_pagesize) {
  8. $this->total = $_total ? $_total : 1;
  9. $this->pagesize = $_pagesize; >pagenum = ceil( $this->total / $this->pagesize);
  10. $this->page = $this->setPage();
  11. $this->limit = "LIMIT ". ($this-> page-1)*$this->pagesize.",$this->pagesize";
  12. $this->url = $this->setUrl(); ;bothnum = 2;
  13. }

  14. //インターセプター __get($_key) {

  15. return $this->$_key
  16. }

  17. ;// 現在のページ番号を取得します

  18. プライベート関数 setPage() {
  19. if (!empty($_GET['page'])) {
  20. if ($_GET['page'] > 0) {
  21. if ($ _GET['page'] > ; $this->pagenum) {
  22. return $this->pagenum; } else {
  23. return $_GET['page'] }
  24. }; }
  25. } else {
  26. return 1;
  27. }
  28. }

  29. //アドレスを取得

  30. private function setUrl() {
  31. $_url = $_SERVER["REQUEST_URI"];
  32. $_par = parse_url($_url);
  33. if (isset($_par['query'])) {
  34. parse_str($_par['query'],$_query);
  35. unset($_query['page']); _url = $_par['path '].'?'.http_build_query($_query);
  36. }
  37. return $_url;//デジタル ディレクトリ
  38. プライベート関数 pageList() {
  39. for ($i=$ this->bothnum;$i>=1;$i--) {
  40. $_page = $this->page-$i;
  41. if ($_page $_pagelist .= ' < ;a href="'.$this->url.'&page='.$_page.'">'.$_page.'
  42. }
  43. $ _pagelist .= ' '.$this->page.' '; $i++) {
  44. $_page = $this->page+$i;
  45. if ($_page > $this->pagenum)
  46. $_pagelist .= ' '.$_page.' ';
  47. }
  48. return $_pagelist;
  49. }

  50. //ホームページ

  51. プライベート関数 first() {
  52. if ($this->page > $this->bothnum+1) {
  53. return ' ..';
  54. }
  55. }

  56. //前のページ

  57. private function prev() {
  58. if ($this->page == 1)
  59. return '前のページ'
  60. }
  61. return ' 前のページ ';
  62. }

  63. //次のページ

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

  70. //最後のページ

  71. プライベート関数 last () {
  72. if ($this->pagenum - $this->page > $this->bothnum) {
  73. return ' ...'.$this->pagenum.' ';
  74. }
  75. }

  76. //ページング情報

  77. パブリック関数 showpage() {
  78. $_page .= $this->first();
  79. $_page .= $this->pageList();
  80. $_page .= $this->prev();
  81. $_page .= $this->next();
  82. return $_page;

  83. コードをコピー
  84. 2、
  85. phpページングクラス
  86. 呼び出し例
  87. $_page = new Page($_total,$_pagesize); //$_total データセット内のアイテムの総数、$_pagesize にはページごとの数が表示されます。
  88. コードをコピーします
  89. 3、PHP ページネーション効果のスクリーンショット


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