>백엔드 개발 >PHP 튜토리얼 >아름다운 PHP 인증 코드 클래스

아름다운 PHP 인증 코드 클래스

WBOY
WBOY원래의
2016-07-25 08:46:071271검색
인증코드, PHP
  1. class Page {
  2. private $total; //총 레코드
  3. private $pagesize; //각 페이지에 표시할 레코드 수
  4. private $limit; //제한
  5. private $page; //현재 페이지 번호
  6. private $pagenum; //전체 페이지 번호
  7. private $url
  8. private $bothnum; ; //양측 디지털 페이징 양 유지
  9. // 생성자 초기화
  10. public function __construct($_total, $_pagesize) {
  11. $this->total = $_total ? : 1;
  12. $this->pagesize = $_pagesize;
  13. $this->pagenum = ceil($this->total / $this->pagesize); ;page = $this- >setPage();
  14. $this->limit = "LIMIT ".($this->page-1)*$this->pagesize.",$this-> ;pagesize";
  15. $this->url = $this->setUrl();
  16. $this->bothnum = 2;
  17. }
  18. //인터셉터
  19. private function __get( $_key) {
  20. return $this->$_key
  21. }
  22. //현재 페이지 번호 가져오기
  23. private function setPage() {
  24. if (!empty($_GET ['페이지'])) {
  25. if ($_GET['page'] > 0) {
  26. if ($_GET['page'] > $this-> ;pagenum) {
  27. return $this->pagenum
  28. } else {
  29. return $_GET['page']
  30. }
  31. } else {
  32. return 1; 🎜> }
  33. } else {
  34. return 1;
  35. }
  36. }
  37. //주소 가져오기
  38. private function setUrl() {
  39. $_url = $_SERVER ["REQUEST_URI"]; $_par = pars_url($_url);
  40. if (isset($_par['query'])) {
  41. parse_str($_par['query'],$_query );
  42. unset( $_query['page']);
  43. $_url = $_par['path'].'?'.http_build_query($_query)
  44. }
  45. return $_url ;
  46. } // 숫자 디렉토리
  47. private function pageList() {
  48. for ($i=$this->bothnum;$i>=1;$i--) {
  49. $_page = $this->page -$i;
  50. if ($_page < 1) 계속
  51. $_pagelist .= ' '.$_page.' ';
  52. }
  53. $_pagelist .= ' '.$this-> ;page.' ';
  54. for ($i=1;$i<=$this->bothnum;$i ) {
  55. $_page = $this->page $i ;
  56. if ($ _page > $this->pagenum) break
  57. $_pagelist .= ' '.$ _page.' ';
  58. }
  59. return $_pagelist;
  60. }
  61. //홈페이지
  62. 비공개 함수 first() {
  63. if ($this ->page > $this->bothnum 1) {
  64. return ' 1 }
  65. }
  66. //이전 페이지
  67. private function prev() {
  68. if ($this->page == 1) {
  69. return '이전 페이지'
  70. }
  71. return ' 이전 페이지 ';
  72. }
  73. //다음 페이지
  74. private function next() {
  75. if ($this->page == $this->pagenum) {
  76. return '다음 페이지'
  77. }
  78. return ' 다음 페이지
  79. }
  80. //마지막 페이지
  81. private function last() {
  82. if ($this->pagenum - $this->page > $this->bothnum) {
  83. return ' ...'.$this->pagenum.' }
  84. }
  85. //페이징 정보
  86. public function showpage() {
  87. $_page .= $this->first(); _page .= $this->pageList();
  88. $_page .= $this->last()
  89. $_page .= $this->prev()
  90. $_page . = $this->next();
  91. return $_page;
  92. }
  93. }
  94. ?>
코드 복사
페이지 매김 스타일은 다음과 같습니다.

사용 지침:

    $_page = new Page($_total,$_pagesize); //여기서 $_total은 데이터입니다. set 총 항목 수, $_pagesize는 각 페이지에 표시되는 숫자입니다.
코드 복사

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:다음 기사: