亚洲乱码卡一卡二卡三永久-亚洲乱码一二三四区-亚洲乱码一区二区三区在线观看-亚洲伦理一区-成人在色线视频在线观看免费大全-成人在线91

分頁(yè)顯示是一種非常常見(jiàn)的瀏覽和顯示大量數(shù)據(jù)的方法,屬于web編程中最常處理的事件之一。對(duì)于web編程的老手來(lái)說(shuō),編寫(xiě)這種代碼實(shí)在是和呼吸一樣自 然,但是對(duì)于初學(xué)者來(lái)說(shuō),常常對(duì)這個(gè)問(wèn)題摸不著頭緒,因此特地撰寫(xiě)此文對(duì)這個(gè)問(wèn)題進(jìn)行詳細(xì)的講解,力求讓看完這篇文章的朋友在看完以后對(duì)于分頁(yè)顯示的原理 和實(shí)現(xiàn)方法有所了解。

  1. class SubPages{
  2.    private $each_disNums;//每頁(yè)顯示的條目數(shù)
  3.   private $nums;//總條目數(shù)
  4.   private $current_page;//當(dāng)前被選中的頁(yè)
  5.   private $sub_pages;//每次顯示的頁(yè)數(shù)
  6.   private $pageNums;//總頁(yè)數(shù)
  7.   private $page_array = array();//用來(lái)構(gòu)造分頁(yè)的數(shù)組
  8.   private $subPage_link;//每個(gè)分頁(yè)的鏈接
  9.   private $subPage_type;//顯示分頁(yè)的類型
  10.    /*
  11.    __construct是SubPages的構(gòu)造函數(shù),用來(lái)在創(chuàng)建類的時(shí)候自動(dòng)運(yùn)行.
  12.    @$each_disNums 每頁(yè)顯示的條目數(shù)
  13.    @nums 總條目數(shù)
  14.    @current_num 當(dāng)前被選中的頁(yè)
  15.    @sub_pages 每次顯示的頁(yè)數(shù)
  16.    @subPage_link 每個(gè)分頁(yè)的鏈接
  17.    @subPage_type 顯示分頁(yè)的類型
  18.     
  19.    當(dāng)@subPage_type=1的時(shí)候?yàn)槠胀ǚ猪?yè)模式
  20.          example: 共4523條記錄,每頁(yè)顯示10條,當(dāng)前第1/453頁(yè) [首頁(yè)] [上頁(yè)] [下頁(yè)] [尾頁(yè)]
  21.          當(dāng)@subPage_type=2的時(shí)候?yàn)榻?jīng)典分頁(yè)樣式
  22.          example: 當(dāng)前第1/453頁(yè) [首頁(yè)] [上頁(yè)] 1 2 3 4 5 6 7 8 9 10 [下頁(yè)] [尾頁(yè)]
  23.    */
  24.   function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
  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.     }
  32.    $this->sub_pages=intval($sub_pages);
  33.    $this->pageNums=ceil($nums/$each_disNums);
  34.    $this->subPage_link=$subPage_link;
  35.    $this->show_SubPages($subPage_type);
  36.    //echo $this->pageNums."--".$this->sub_pages;
  37.   }
  38.      
  39.      
  40.   /*
  41.     __destruct析構(gòu)函數(shù),當(dāng)類不在使用的時(shí)候調(diào)用,該函數(shù)用來(lái)釋放資源。
  42.    */
  43.   function __destruct(){
  44.     unset($each_disNums);
  45.     unset($nums);
  46.     unset($current_page);
  47.     unset($sub_pages);
  48.     unset($pageNums);
  49.     unset($page_array);
  50.     unset($subPage_link);
  51.     unset($subPage_type);
  52.    }
  53.      
  54.   /*
  55.     show_SubPages函數(shù)用在構(gòu)造函數(shù)里面。而且用來(lái)判斷顯示什么樣子的分頁(yè) 
  56.    */
  57.   function show_SubPages($subPage_type){
  58.     if($subPage_type == 1){
  59.     $this->subPageCss1();
  60.     }elseif ($subPage_type == 2){
  61.     $this->subPageCss2();
  62.     }
  63.    }
  64.      
  65.      
  66.   /*
  67.     用來(lái)給建立分頁(yè)的數(shù)組初始化的函數(shù)。
  68.    */
  69.   function initArray(){
  70.     for($i=0;$i<$this->sub_pages;$i++){
  71.     $this->page_array[$i]=$i;
  72.     }
  73.     return $this->page_array;
  74.    }
  75.      
  76.      
  77.   /*
  78.     construct_num_Page該函數(shù)使用來(lái)構(gòu)造顯示的條目
  79.     即使:[1][2][3][4][5][6][7][8][9][10]
  80.    */
  81.   function construct_num_Page(){
  82.     if($this->pageNums < $this->sub_pages){
  83.     $current_array=array();
  84.      for($i=0;$i<$this->pageNums;$i++){
  85.      $current_array[$i]=$i+1;
  86.      }
  87.     }else{
  88.     $current_array=$this->initArray();
  89.      if($this->current_page <= 3){
  90.       for($i=0;$i<count($current_array);$i++){
  91.       $current_array[$i]=$i+1;
  92.       }
  93.      }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
  94.       for($i=0;$i<count($current_array);$i++){
  95.       $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
  96.       }
  97.      }else{
  98.       for($i=0;$i<count($current_array);$i++){
  99.       $current_array[$i]=$this->current_page-2+$i;
  100.       }
  101.      }
  102.     }
  103.       
  104.     return $current_array;
  105.    }
  106.      
  107.   /*
  108.    構(gòu)造普通模式的分頁(yè)
  109.    共4523條記錄,每頁(yè)顯示10條,當(dāng)前第1/453頁(yè) [首頁(yè)] [上頁(yè)] [下頁(yè)] [尾頁(yè)]
  110.    */
  111.   function subPageCss1(){
  112.    $subPageCss1Str="";
  113.    $subPageCss1Str.="共".$this->nums."條記錄,";
  114.    $subPageCss1Str.="每頁(yè)顯示".$this->each_disNums."條,";
  115.    $subPageCss1Str.="當(dāng)前第".$this->current_page."/".$this->pageNums."頁(yè) ";
  116.     if($this->current_page > 1){
  117.     $firstPageUrl=$this->subPage_link."1";
  118.     $prewPageUrl=$this->subPage_link.($this->current_page-1);
  119.     $subPageCss1Str.="[首頁(yè)] ";
  120.     $subPageCss1Str.="[上一頁(yè)] ";
  121.     }else {
  122.     $subPageCss1Str.="[首頁(yè)] ";
  123.     $subPageCss1Str.="[上一頁(yè)] ";
  124.     }
  125.       
  126.     if($this->current_page < $this->pageNums){
  127.     $lastPageUrl=$this->subPage_link.$this->pageNums;
  128.     $nextPageUrl=$this->subPage_link.($this->current_page+1);
  129.     $subPageCss1Str.=" [下一頁(yè)] ";
  130.     $subPageCss1Str.="[尾頁(yè)] ";
  131.     }else {
  132.     $subPageCss1Str.="[下一頁(yè)] ";
  133.     $subPageCss1Str.="[尾頁(yè)] ";
  134.     }
  135.       
  136.     echo $subPageCss1Str;
  137.       
  138.    }
  139.      
  140.      
  141.   /*
  142.    構(gòu)造經(jīng)典模式的分頁(yè)
  143.    當(dāng)前第1/453頁(yè) [首頁(yè)] [上頁(yè)] 1 2 3 4 5 6 7 8 9 10 [下頁(yè)] [尾頁(yè)]
  144.    */
  145.   function subPageCss2(){
  146.    $subPageCss2Str="";
  147.    $subPageCss2Str.="當(dāng)前第".$this->current_page."/".$this->pageNums."頁(yè) ";
  148.       
  149.       
  150.     if($this->current_page > 1){
  151.     $firstPageUrl=$this->subPage_link."1";
  152.     $prewPageUrl=$this->subPage_link.($this->current_page-1);
  153.     $subPageCss2Str.="[首頁(yè)] ";
  154.     $subPageCss2Str.="[上一頁(yè)] ";
  155.     }else {
  156.     $subPageCss2Str.="[首頁(yè)] ";
  157.     $subPageCss2Str.="[上一頁(yè)] ";
  158.     }
  159.       
  160.    $a=$this->construct_num_Page();
  161.     for($i=0;$i<count($a);$i++){
  162.     $s=$a[$i];
  163.      if($s == $this->current_page ){
  164.      $subPageCss2Str.="[".$s."]";
  165.      }else{
  166.      $url=$this->subPage_link.$s;
  167.      $subPageCss2Str.="[".$s."]";
  168.      }
  169.     }
  170.       
  171.     if($this->current_page < $this->pageNums){
  172.     $lastPageUrl=$this->subPage_link.$this->pageNums;
  173.     $nextPageUrl=$this->subPage_link.($this->current_page+1);
  174.     $subPageCss2Str.=" [下一頁(yè)] ";
  175.     $subPageCss2Str.="[尾頁(yè)] ";
  176.     }else {
  177.     $subPageCss2Str.="[下一頁(yè)] ";
  178.     $subPageCss2Str.="[尾頁(yè)] ";
  179.     }
  180.     echo $subPageCss2Str;
  181.    }
  182. }

穩(wěn)定

產(chǎn)品高可用性高并發(fā)

貼心

項(xiàng)目群及時(shí)溝通

專業(yè)

產(chǎn)品經(jīng)理1v1支持

快速

MVP模式小步快跑

承諾

我們選擇聲譽(yù)

堅(jiān)持

10年專注高端品質(zhì)開(kāi)發(fā)
  • 返回頂部
主站蜘蛛池模板: 青青草国产免费国产是公开 | 日韩精品影视 | 一级毛片一级毛片一级毛片 | 簧片在线 | 激情五月婷婷开心 | 99免费精品| 精品亚洲成a人在线观看 | 久久亚洲视频 | 久久午夜羞羞影院免费观看 | 97碰视频人人做人人爱欧美 | 国产亚洲高清不卡在线观看 | 黄色短视频在线免费观看 | 日韩综合在线视频 | 翁熄性放纵苏玥完整小说 | 国产在线乱子伦一区二区 | 成人日韩在线 | 亚洲国产日韩欧美在线as乱码 | 农村偷人一级超爽毛片 | 亚洲伊人久久综合影院2021 | 国产精品一区二区不卡的视频 | 免费观看日皮视频 | 欧美日韩在线观看视频 | 日本处888xxxx | 免费欧美一级片 | a毛片免费 | 国产一级毛片午夜 | 一级在线免费视频 | 久草在现 | 免费观看大片毛片 | 又大又粗又爽的三级小视频 | 成人午夜精品网站在线观看 | 一级特级毛片免费 | 性猛交xxxxx按摩中国 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 涩涩网站在线观看 | 丁香天堂网 | 天天干干干干 | 一区二区3区免费视频 | 嫩草影院永久一二三入口 | 午夜成人免费影院 | 中文字幕25页 |