> 백엔드 개발 > PHP 튜토리얼 > PHP 페이징 클래스 코드, 의사 정적 PHP 페이징 클래스 지원

PHP 페이징 클래스 코드, 의사 정적 PHP 페이징 클래스 지원

WBOY
풀어 주다: 2016-07-25 08:52:35
원래의
1282명이 탐색했습니다.
  1. 클래스 페이지{
  2. protected $each_disNums;//페이지당 표시되는 항목 수
  3. protected $nums; //총 항목 수
  4. protected $current_page;//현재 선택된 페이지
  5. protected $sub_pages;//매번 표시되는 페이지 수
  6. protected $pageNums;//총 페이지 수
  7. protected $page_array = array();//페이징 구성에 사용되는 배열
  8. protected $subPage_link;//각 페이지에 대한 링크
  9. protected $subPage_type;//페이징 표시 유형
  10. protected $houz;/ /Suffix
  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,$houz=''){
  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); subPage_link=$subPage_link;
  33. $this->show_SubPages($subPage_type);
  34. $this->houz=$houz;
  35. //echo $this->pageNums."--". $this->sub_pages;
  36. }
  37. /*
  38. __destruct 소멸자, 클래스가 더 이상 사용되지 않을 때 호출되며 이 함수는 리소스를 해제하는 데 사용됩니다.
  39. */
  40. function __destruct(){
  41. unset($each_disNums);
  42. unset($nums)
  43. unset($sub_pages); 🎜>unset($pageNums);
  44. unset($page_array);
  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. construct_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. */ bbs.it-home.org
  93. function subPageCss1(){
  94. $subPageCss1Str="";
  95. $subPageCss1Str.="共".$this->nums."条记录,";
  96. $subPageCss1Str.="每页显示".$this->each_disNums."条,";
  97. $subPageCss1Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
  98. if($this->current_page > 1){
  99. $firstPageUrl=$this->subPage_link."1".$this->houz;
  100. $prewPageUrl=$this->subPage_link.($this->current_page-1).$this->houz;
  101. $subPageCss1Str.="[首页] ";
  102. $subPageCss1Str.="[上一页] ";
  103. }else {
  104. $subPageCss1Str.="[首页] ";
  105. $subPageCss1Str.="[上一页] ";
  106. }
  107. if($this->current_page < $this->pageNums){
  108. $lastPageUrl=$this->subPage_link.$this->pageNums.$this ->후즈;
  109. $nextPageUrl=$this->subPage_link.($this->current_page 1).$this->houz;
  110. $subPageCss1Str.=" [下一页] ";
  111. $subPageCss1Str.="[尾页] ";
  112. }else {
  113. $subPageCss1Str.="[下一页] ";
  114. $subPageCss1Str.="[尾页] ";
  115. }
  116. $subPageCss1Str을 반환합니다.
  117. }
  118. /*
  119. 构造经典模式的分页
  120. 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
  121. */
  122. 함수 subPageCss2(){
  123. $subPageCss2Str="";
  124. $subPageCss2Str.="共[".$this->nums."]条 当前第".$this->current_page."/".$this->pageNums."页";
  125. if($this->current_page > 1){
  126. $firstPageUrl=$this->subPage_link."1".$this->houz;
  127. $prewPageUrl=$this->subPage_link.($this->current_page-1).$this->houz;
  128. $subPageCss2Str.="[首页] ";
  129. $subPageCss2Str.="[上一页] ";
  130. }else {
  131. $subPageCss2Str.="[首页] ";
  132. $subPageCss2Str.="[上一页] ";
  133. }
  134. $a=$this->construct_num_Page();
  135. for($i=0;$i$s=$a[$i];
  136. if($s == $this->current_page ){
  137. $subPageCss2Str.="[".$s. "]";
  138. }else{
  139. $url=$this->subPage_link.$s.$this->houz;
  140. $subPageCss2Str.="[".$s."]";
  141. }
  142. }
  143. if($this->current_page < $this->pageNums){
  144. $lastPageUrl=$this->subPage_link.$this-> pageNums.$this->houz;
  145. $nextPageUrl=$this->subPage_link.($this->current_page 1).$this->houz;
  146. $subPageCss2Str.=" [下一页] ";
  147. $subPageCss2Str.="[尾页] ";
  148. }else {
  149. $subPageCss2Str.="[下一页] ";
  150. $subPageCss2Str.="[尾页] ";
  151. }
  152. $subPageCss2Str을 반환합니다.
  153. }
  154. /*
  155. 클래식 모드 ajax 페이지 매김 구성
  156. 현재 페이지 1/453 [홈] [이전 페이지] 1 2 3 4 5 6 7 8 9 10 [다음 페이지] [마지막 페이지]
  157. * /
  158. 함수 subPageCss3($fun='',$v='n'){
  159. $subPageCss2Str=""
  160. $subPageCss2Str.="합계[".$this->nums ." ]현재 페이지 ".$this->current_page."/".$this->pageNums."
  161. if($this->current_page > 1){
  162. // $firstPageUrl=$this->subPage_link."1"
  163. $prewPageUrl=$this->current_page-1
  164. $subPageCss2Str.="[홈페이지] ";
  165. $subPageCss2Str.="[이전 페이지] ";
  166. }else {
  167. $subPageCss2Str.=" [Home] ";
  168. $subPageCss2Str.="[이전 페이지] ";
  169. }
  170. $a=$this->construct_num_Page()
  171. for($i= 0;$i$s=$a[$i];
  172. if($s == $this->current_page ){
  173. $subPageCss2Str .="[$s]";
  174. }else{
  175. $subPageCss2Str.="[$s]";
  176. }
  177. }
  178. if($this- >current_page < $this->pageNums){
  179. $lastPageUrl=$this->pageNums;
  180. $nextPageUrl=$this->current_page 1
  181. $subPageCss2Str.=" ;a href='javascript:void(0)' onClick='return $fun("$nextPageUrl","$v")'>다음 페이지] " ;
  182. $subPageCss2Str.="[ 마지막 페이지 ] ";
  183. }else {
  184. $subPageCss2Str.="[다음 페이지] ";
  185. $subPageCss2Str.="[마지막 페이지] ";
  186. }
  187. return $subPageCss2Str; ;
  188. 코드 복사
사용법: 이 페이지 클래스를 인스턴스화합니다. $list = 새 페이지(페이지당 데이터 조각 수, 총 데이터 양, 현재 페이지, 페이징 구성에 사용된 배열, 각 페이징에 대한 링크, 표시되는 페이징 유형, 접미사); 예를 들어 $list = new Page(10,1000,1,10,'/zjjz/',2,'.html'); echo $page = $list->subPageCss2(); 다음이 표시됩니다. 현재 페이지 1/100 [홈 페이지] [이전 페이지] 1 2 3 4 5 6 7 8 9 10 [다음 페이지] [마지막 페이지] 각 연결은 /zjjz/1.html,/zjjz/2.html... . 의사 정적을 달성하기 위해 직접적인 필요에 따라 각 페이지의 링크를 결합할 수 있습니다.
Ajax 페이징은

$list = 새 페이지($pagesize,$areaAllNumber,$current_page,10,”,3); $url = $val1.','.$val2;//트리거하려는 js 함수에 전달될 값입니다. $page = $list->subPageCss3('checkProducts',$url);//첫 번째 매개변수는 트리거될 js 함수입니다. 따라서 Ajax 페이징 효과를 얻습니다.

총 4523개의 레코드가 있는 subPageCss1도 있고, 각 페이지에 10개의 레코드가 표시되며 현재 페이지는 1/453입니다. [홈페이지] [이전 페이지] [다음 페이지] [마지막 페이지] 이 간단한 스타일도 의사 정적을 지원합니다.

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