首页 > 代码库 > php分页类 可直接调用

php分页类 可直接调用

技术分享

/*$num = 130 总条目数"?p="        host 后面的query2            分页模式【1,2】*///调用实例$nums=130;//总条目数$subPages=new SubPages($nums,"?p=",2);class SubPages{           private  $each_disNums = 15;//每页显示的条目数      private  $nums;//总条目数      private  $current_page = 1;//当前被选中的页      private  $sub_pages = 10;//每次显示的页数      private  $pageNums;//总页数      private  $page_array = array();//用来构造分页的数组      private  $subPage_link;//每个分页的链接      private  $subPage_type;//显示分页的类型      /*     __construct是SubPages的构造函数,用来在创建类的时候自动运行.     @$each_disNums   每页显示的条目数     @nums     总条目数     @current_num     当前被选中的页     @sub_pages       每次显示的页数     @subPage_link    每个分页的链接     @subPage_type    显示分页的类型     当@subPage_type=1的时候为普通分页模式          example:   共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]          当@subPage_type=2的时候为经典分页样式          example:   当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]     */     function __construct($nums,$subPage_link,$subPage_type){          $this->nums=intval($nums);          if(isset($_GET["p"])){              $this->current_page=intval($_GET["p"]);            }        $this->pageNums=ceil($nums/$this->each_disNums);          $this->subPage_link=$subPage_link;           $this->show_SubPages($subPage_type);           //echo $this->pageNums."--".$this->sub_pages;      }                /*     __destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。     */     function __destruct(){          unset($each_disNums);          unset($nums);          unset($current_page);          unset($sub_pages);          unset($pageNums);          unset($page_array);          unset($subPage_link);          unset($subPage_type);      }    /*     setEachDisNums 设置每页的显示的个数    */    public function setEachDisNums($each_disNums){        $this->each_disNums = intval($each_disNums);    }         /*     show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页       */     function show_SubPages($subPage_type){          if($subPage_type == 1){              $this->subPageCss1();          }elseif ($subPage_type == 2){              $this->subPageCss2();          }      }                /*     用来给建立分页的数组初始化的函数。     */     function initArray(){          for($i=0;$i<$this->sub_pages;$i++){              $this->page_array[$i]=$i;          }          return $this->page_array;      }                /*     construct_num_Page该函数使用来构造显示的条目     即使:[1][2][3][4][5][6][7][8][9][10]     */     function construct_num_Page(){          if($this->pageNums < $this->sub_pages){              $current_array=array();              for($i=0;$i<$this->pageNums;$i++){                   $current_array[$i]=$i+1;              }          }else{              $current_array=$this->initArray();              if($this->current_page <= 3){                  for($i=0;$i<count($current_array);$i++){                      $current_array[$i]=$i+1;                  }              }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){                  for($i=0;$i<count($current_array);$i++){                      $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;                  }              }else{                  for($i=0;$i<count($current_array);$i++){                      $current_array[$i]=$this->current_page-2+$i;                  }              }          }          return $current_array;      }           /*     构造普通模式的分页     共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]     */     function subPageCss1(){          $subPageCss1Str="";          $subPageCss1Str.="共".$this->nums."条记录,";          $subPageCss1Str.="每页显示".$this->each_disNums."条,";          $subPageCss1Str.="当前第".$this->current_page."/".$this->pageNums."页 ";          if($this->current_page > 1){              $firstPageUrl=$this->subPage_link."1";              $prewPageUrl=$this->subPage_link.($this->current_page-1);              $subPageCss1Str.="[<a href=http://www.mamicode.com/‘$firstPageUrl‘>首页</a>] ";              $subPageCss1Str.="[<a href=http://www.mamicode.com/‘$prewPageUrl‘>上一页</a>] ";          }else {              $subPageCss1Str.="[首页] ";              $subPageCss1Str.="[上一页] ";          }                    if($this->current_page < $this->pageNums){              $lastPageUrl=$this->subPage_link.$this->pageNums;              $nextPageUrl=$this->subPage_link.($this->current_page+1);              $subPageCss1Str.=" [<a href=http://www.mamicode.com/‘$nextPageUrl‘>下一页</a>] ";              $subPageCss1Str.="[<a href=http://www.mamicode.com/‘$lastPageUrl‘>尾页</a>] ";          }else {              $subPageCss1Str.="[下一页] ";              $subPageCss1Str.="[尾页] ";          }                    echo $subPageCss1Str;            }                /*     构造经典模式的分页     当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]     */     function subPageCss2(){          $subPageCss2Str="";          $subPageCss2Str.="当前第".$this->current_page."/".$this->pageNums."页 ";          if($this->current_page > 1){              $firstPageUrl=$this->subPage_link."1";              $prewPageUrl=$this->subPage_link.($this->current_page-1);              $subPageCss2Str.="[<a href=http://www.mamicode.com/‘$firstPageUrl‘>首页</a>] ";              $subPageCss2Str.="[<a href=http://www.mamicode.com/‘$prewPageUrl‘>上一页</a>] ";          }else {              $subPageCss2Str.="[首页] ";              $subPageCss2Str.="[上一页] ";          }          $a=$this->construct_num_Page();          for($i=0;$i<count($a);$i++){              $s=$a[$i];              if($s == $this->current_page ){                  $subPageCss2Str.="[<span style=‘color:red;font-weight:bold;‘>".$s."</span>]";              }else{                  $url=$this->subPage_link.$s;                  $subPageCss2Str.="[<a href=http://www.mamicode.com/‘$url‘>".$s."</a>]";              }          }          if($this->current_page < $this->pageNums){              $lastPageUrl=$this->subPage_link.$this->pageNums;              $nextPageUrl=$this->subPage_link.($this->current_page+1);              $subPageCss2Str.=" [<a href=http://www.mamicode.com/‘$nextPageUrl‘>下一页</a>] ";              $subPageCss2Str.="[<a href=http://www.mamicode.com/‘$lastPageUrl‘>尾页</a>] ";          }else {              $subPageCss2Str.="[下一页] ";              $subPageCss2Str.="[尾页] ";          }          echo $subPageCss2Str;      }  }

 

php分页类 可直接调用