ホームページ  >  記事  >  バックエンド開発  >  実用的なPHPページングクラス、複数のページングスタイル

実用的なPHPページングクラス、複数のページングスタイル

WBOY
WBOYオリジナル
2016-07-25 08:52:42861ブラウズ
复制代
  1. class SubPages{
  2. private $numbers; // 各ページに表示されるエントリの数
  3. private $current_page;
  4. private $sub_pages;//毎回表示されるページ数
  5. private $pageNums;//総ページ数
  6. private $point;//総ページ数
  7. private $page_array = array();//構築に使用される配列paging
  8. private $subPage_link;// 各ページのリンク
  9. private $subPage_type;// ページの種類を表示
  10. / *
  11. __construct は、クラスの作成時に自動的に実行されるために使用される
  12. @$ each_disNums 各ページに表示されるエントリ数
  13. @nums 総エントリ数
  14. @current_num 現在選択されているページ
  15. @sub_pages 毎回表示されるページ数
  16. @subPage_link 各ページへのリンク
  17. @subPage_type ページングの表示タイプ
  18. @subPage_type=の場合1 通常のページング モード
  19. 例: 合計 4523 レコード、各ページに 10 レコードが表示、現在のページ 1/453 [ホーム] [前のページ] [次のページ] [最後のページ]
  20. @subPage_type=2 の場合、クラシックですページング スタイル
  21. 例: 現在のページ 1/453 [ホームページ] [前のページ] 1 2 3 4 5 6 7 8 9 10 [次のページ] [最後のページ]
  22. * /
  23. function __construct($each_disNums,$nums,$ current_page, $sub_pages,$subPage_link,$subPage_type,$point){
  24. $this->each_disNums=intval($each_disNums);
  25. if(!$current_page) {
  26. $this->current_page=1;
  27. }else{
  28. $this->current_page=intval($current_pages);
  29. $this-> ;pageNums =ceil($nums/$each_disNums);
  30. $this->subPage_link=$subPage_link;
  31. $this->show_SubPages($subPage_type); $this ->pageNums."--".$this->sub_pages;
  32. }
  33. / *
  34. __destruct デストラクター。クラスが使用されなくなったときに呼び出され、この関数はリソースを解放するために使用されます。
  35. * /
  36. 関数 __destruct(){
  37. unset($each_disNums);
  38. unset($sub_pages);
  39. unset($page_array); ;
  40. unset($subPage_link);
  41. unset($subPage_type);
  42. / *
  43. show_SubPages 関数はコンストラクターで使用されます。表示するページングの種類を決定するために使用されます
  44. * /
  45. function show_SubPages($subPage_type){
  46. if($subPage_type == 1){
  47. $this->subPageCss1()
  48. }elseif ($subPage_type == 2) ) {
  49. $this->subPageCss2();
  50. }
  51. }
  52. / *
  53. ページネーションを作成するための配列を初期化するために使用される関数。
  54. * /
  55. function initArray(){
  56. for($i=0;$i<$this->sub_pages;$i++){
  57. $this->page_array[$i]=$i;
  58. }
  59. return $this->page_array;
  60. }
  61. / *
  62. construct_num_Page该関数数使用来造显示的条目
  63. 即使用:[1][2][3][4][5][6][7][8][9][10]
  64. * /
  65. 関数construct_num_Page(){
  66. if($this->pageNums < $this->sub_pages){
  67. $current_array=array();
  68. for($i=0;$i<$this->pageNums;$i++){
  69. $current_array[$i]=$i+1;
  70. }
  71. }else{
  72. $current_array=$this->initArray();
  73. if($this->current_page for($i=0;$i $current_array[$i]=$i+1;
  74. }
  75. }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
  76. for( $i=0;$i $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
  77. }
  78. }else{
  79. for($i=0;$i $current_array[$i]=$this->current_page-2+$i;
  80. }
  81. }
  82. }
  83. return $current_array;
  84. }
  85. / *
  86. 构造经典モード式の分页
  87. 現在前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
  88. * /
  89. function subPageCss2 (){
  90. $subPageCss2Str="";
  91. //2462347条商家情報
  92. $subPageCss2Str.= "当前第current_page."".$this->pageNums." ".$this->nums."条商家情報";
  93. //$subPageCss2Str.="当前第".$this->current_page."/".$this ->pageNums."页 ";
  94. if($this->current_page > 1){
  95. $firstPageUrl=$this->subPage_link."1"."#zkfb_shop";
  96. $prewPageUrl=$this->subPage_link.($this->current_page-1).$this->point;
  97. //首页上一页
  98. $subPageCss2Str.="首页";
  99. $subPageCss2Str.="上一页";
  100. }else {
  101. $subPageCss2Str.="首页";
  102. $subPageCss2Str.="上一页"; $a=$this->construct_num_Page();
  103. for($i=0;$i $s=$a[$i];
  104. if($s == $this->current_page ){
  105. // $subPageCss2Str.="[".$s."< ;/スパン>]";
  106. $subPageCss2Str.="".$s."";
  107. }else{
  108. $url=$this->subPage_link.$s.$this->point;
  109. // 2
  110. $subPageCss2Str.="".$s."";
  111. // $subPageCss2Str.="[".$s."]";
  112. }
  113. }
  114. if($this->current_page < $this->pageNums){
  115. $lastPageUrl=$this->subPage_link.$this->pageNums.$this->point;
  116. $nextPageUrl=$this->subPage_link.($this->current_page+1).$this->point;
  117. //下一页末页
  118. $subPageCss2Str.="下一页";
  119. $subPageCss2Str.="尾页";
  120. }else {
  121. $subPageCss2Str.="下一页";
  122. $subPageCss2Str.="尾页";
  123. }
  124. echo $subPageCss2Str;
  125. }
  126. }
  127. ?>
  128. 复制代
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。