ホームページ  >  記事  >  バックエンド開発  >  美しい PHP 検証コード クラス

美しい PHP 検証コード クラス

WBOY
WBOYオリジナル
2016-07-25 08:46:071210ブラウズ
    class Page {
  1. private $total; // 合計レコード数
  2. private $pagesize; // 各ページに表示されるレコードの数
  3. private $limit; //現在のページ番号
  4. private $pagenum; //総ページ番号
  5. private $url; //アドレス
  6. private $bothnum //両側で保持されるデジタルページングの量
  7. //コンストラクターメソッドの初期化
  8. public function __construct ($_total, $_pagesize) {
  9. $this->total = $_total ? $_total : 1;
  10. $this->pagenum = ceil($this->合計 / $this->pagesize) ;
  11. $this->page = $this->setPage();
  12. $this->limit = "LIMIT ".($this->page-1)* $this->pagesize.", $this->pagesize";
  13. $this->url = $this->setUrl();
  14. $this->bothnum = 2;インターセプター
  15. private function __get($_key ) {
  16. return $this->$_key
  17. }
  18. //現在のページ番号を取得する
  19. private function setPage() {
  20. if (!empty($_GET['page' ])) {
  21. if ($_GET[ 'page'] > 0) {
  22. if ($_GET['page'] > $this->pagenum) {
  23. return $this->pagenum; } else {
  24. return $_GET['page' ];
  25. }
  26. } else {
  27. return 1; }
  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' ]);
  36. $_par['path'].'?'.http_build_query($_query);
  37. return $_url } // デジタル ディレクトリ
  38. function pageList() {
  39. for ($i =$this->bothnum;$i>=1;$i--) {
  40. $_page = $this->page-$i
  41. if ($_page < ; 1) 続行
  42. $_pagelist .= ' '.$_page.' ;
  43. }
  44. $_pagelist .= ' < ;span class="me">'.$this->page.' '; ->bothnum;$i++) {
  45. $_page = $this->page+$i;
  46. if ($_page > $this->pagenum) Break;
  47. $_pagelist .= ' '.$_page.' ';
  48. }
  49. return $_pagelist;
  50. }
  51. //Homepage
  52. private function first() {
  53. if ($this ->page > $this->bothnum+1) {
  54. return ' 1< /a> ...';
  55. }
  56. }
  57. //前のページ
  58. private function prev() {
  59. if ($this->page == 1) {
  60. return '前のページ
  61. }
  62. return ' 前のページ
  63. //次のページ
  64. private function next() {
  65. if ($this->page == $this->pagenum) {
  66. return '';
  67. }
  68. return ' ';
  69. }
  70. //最後のページ
  71. private function last() {
  72. if ($this->pagenum - $this->page > $this->bothnum) {
  73. return ' ...'.$this->pagenum.'
  74. }
  75. }
  76. / /ページング情報
  77. public function showpage() {
  78. $_page .= $this->first();
  79. $_page .= $this->last( );
  80. $_page .= $this->prev();
  81. $_page; }
  82. }
  83. コードをコピーします。
  84. ページネーションのスタイルは次のとおりです。
使用説明:

$_page = new Page($_total,$_pagesize); //$_total はデータセット内の項目の総数、$_pagesize は表示される数です。各ページで

?>

コードをコピーします
検証コード、PHP

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