실용적인 PHP 페이징 클래스, 다양한 페이징 스타일

WBOY
풀어 주다: 2016-07-25 08:52:42
원래의
909명이 탐색했습니다.
php $subPages=new SubPages($pageSize,$total_num,$nowPage,$sub_pages, "index.php?id=".$Id."&kwId=&d=".$current_date."&p=",2,"# zkfb");?>
    엔터테인먼트
    1. class SubPages{
    2. private $each_disNums;//페이지당 표시되는 항목 수
    3. private $nums;//Total 항목 수
    4. private $current_page;//현재 선택된 페이지
    5. private $sub_pages;//매번 표시되는 페이지 수
    6. private $pageNums;//총 페이지 수
    7. private $point ; //총 페이지 수
    8. private $page_array = array();//페이징 구성에 사용되는 배열
    9. private $subPage_link;//각 페이지의 링크
    10. private $subPage_type;//페이징 유형 표시
    11. / *
    12. __construct는 클래스 생성 시 자동으로 실행되는 SubPages의 생성자입니다.
    13. @$each_disNums 각 페이지에 표시되는 항목 수
    14. @nums 총 항목 수
    15. @ current_num 현재 선택된 페이지
    16. @sub_pages 매번 표시되는 페이지 수
    17. @subPage_link 각 페이지의 링크
    18. @subPage_type 페이지 유형 표시
    19. @subPage_type=1인 경우 일반 페이징 모드
    20. 예: 총 4523개 레코드, 각 페이지에 10개 레코드 표시, 현재 페이지 1/453 [홈] [이전 페이지] [다음 페이지] [마지막 페이지]
    21. @subPage_type=2인 경우 클래식 페이지 매김의 경우 스타일
    22. 예: 현재 페이지 1/453 [첫 번째 페이지] [이전 페이지] 1 2 3 4 5 6 7 8 9 10 [다음 페이지] [마지막 페이지]
    23. * /
    24. 함수 __construct ($each_disNums ,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type,$point){
    25. $this->each_disNums=intval($each_disNums)
    26. $this->nums=intval ($nums );
    27. if(!$current_page){
    28. $this->current_page=1;
    29. }else{
    30. $this->current_page=intval($current_page);
    31. $this->sub_pages=intval($sub_pages);
    32. $this->pageNums=ceil($nums/$each_disNums)
    33. $this->subPage_link=$subPage_link
    34. $this->point=$point;
    35. $this->show_SubPages($subPage_type)
    36. //echo $this->pageNums."--".$this-> ;sub_pages;
    37. }
    38. / *
    39. __destruct 소멸자, 클래스가 더 이상 사용되지 않을 때 호출되며 이 함수는 리소스를 해제하는 데 사용됩니다.
    40. * /
    41. function __destruct(){
    42. unset($each_disNums);
    43. unset($nums)
    44. unset($sub_pages); 🎜> unset($pageNums);
    45. unset($subPage_link)
    46. unset($subPage_type)
    47. / *
    48. show_SubPages 함수는 생성자에서 사용됩니다. 그리고 표시할 페이징 종류를 결정하는 데 사용됩니다.
    49. * /
    50. function show_SubPages($subPage_type){
    51. if($subPage_type == 1){
    52. $this->subPageCss1()
    53. }elseif ($subPage_type == 2){
    54. $this->subPageCss2()
    55. }
    56. }
    57. / *
    58. 생성을 위해 배열을 초기화하는 데 사용됩니다. 페이징 기능.
    59. * /
    60. 함수 initArray(){
    61. for($i=0;$i<$this->sub_pages;$i ){
    62. $this->page_array[$i] =$i;
    63. }
    64. return $this->page_array;
    65. }
    66. / *
    67. construction_num_Page该函数使用来构造显示的条目
    68. 即使:[1][2][3][4][5][6][7] [8][9][10]
    69. * /
    70. 함수 constructor_num_Page(){
    71. if($this->pageNums < $this->sub_pages){
    72. $current_array=array ();
    73. for($i=0;$i<$this->pageNums;$i ){
    74. $current_array[$i]=$i 1;
    75. }
    76. }else{
    77. $current_array=$this->initArray();
    78. if($this->current_page <= 3){
    79. for($i=0;$i $current_array[$i]= $나는 1;
    80. }
    81. }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages 1 ){
    82. for($i=0;$i $current_array[$i]=($this->pageNums)-($this->sub_pages) 1 $i;
    83. }
    84. }else{
    85. for($i=0;$i $current_array[$i]=$this->current_page- 2$i;
    86. }
    87. }
    88. }
    89. return $current_array;
    90. }
    91. / *
    92. 构造经典模式的分页
    93. 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
    94. * /
    95. function subPageCss2(){
    96. $subPageCss2Str="";
    97. //2462347条商家信息
    98. $subPageCss2Str.= "当前第".$this->current_page." /".$this->pageNums." ".$this->nums."条商家信息";
    99. //$subPageCss2Str.="当前第".$this->current_page. "/".$this->pageNums."页 ";
    100. if($this->current_page > 1){
    101. $firstPageUrl=$this->subPage_link."1"."#zkfb_shop";
    102. $prewPageUrl=$this->subPage_link.($this->current_page-1).$this->point;
    103. //首页上一页
    104. $subPageCss2Str.="< ;a href='$firstPageUrl'>首页";
    105. $subPageCss2Str.="上一页";
    106. }else {
    107. $subPageCss2Str.="首页";
    108. $subPageCss2Str.="上一页";
    109. }
    110. $a=$this->construct_num_Page();
    111. for($i=0;$i $s=$a[$i];
    112. if($s == $this->current_page ){
    113. // $subPageCss2Str.="[".$ s."]";
    114. $subPageCss2Str.="".$s."";
    115. }else{
    116. $url=$this->subPage_link.$s.$this->point;
    117. // 2
    118. $subPageCss2Str.="".$s."" ;
    119. // $subPageCss2Str.="[".$s."]";
    120. }
    121. }
    122. if($this->current_page < $this->pageNums){
    123. $lastPageUrl=$this->subPage_link.$this-> pageNums.$this->point;
    124. $nextPageUrl=$this->subPage_link.($this->current_page 1).$this->point;
    125. //下一页末页
    126. $subPageCss2Str.="下一页";
    127. $subPageCss2Str.="尾页";
    128. }else {
    129. $subPageCss2Str.="下一页";
    130. $subPageCss2Str.="尾页";
    131. }
    132. echo $subPageCss2Str;
    133. }
    134. }
    135. ?>
    复代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿