Home > Backend Development > PHP Tutorial > PHP paging class to share with you_PHP tutorial

PHP paging class to share with you_PHP tutorial

WBOY
Release: 2016-07-13 17:48:58
Original
828 people have browsed it


/**
* 2011/8/24
* A very good paging class, let me share it with everyone
*
**/
class SubPages{ 
                                                 private $each_disNums;//Number of items displayed on each page
private $nums; //Total number of entries
private $current_page;//The currently selected page
private $sub_pages;//Number of pages displayed each time
private $pageNums; //Total number of pages
private $page_array = array(); //Used to construct an array for paging
private $subPage_link; //Link to each page
private $subPage_type;//Display the type of paging
/* 
__construct is the constructor of SubPages, which is used to run automatically when creating a class.
@$each_disNums Number of items displayed on each page
@nums Total number of entries
@current_num The currently selected page
@sub_pages The number of pages displayed each time
@subPage_link Link to each page
@subPage_type Display the type of paging
       
When @subPage_type=1, it is normal paging mode
Example: 4523 records in total, 10 records displayed on each page, current page 1/453 [Home] [Previous page] [Next page] [Last page]
When @subPage_type=2, it is the classic paging style
Example: Current page 1/453 [Home] [Previous page] 1 2 3 4 5 6 7 8 9 10 [Next page] [Last page]
*/ 
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){ $this->each_disNums=intval($each_disNums);
$this->nums=intval($nums); $this->nums=intval($nums);
if(!$current_page){
$this->current_page=1; $this->current_page=1;
}else{  
$this->current_page=intval($current_page); $this->current_page=intval($current_page);
}  
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this->subPage_link=$subPage_link; $this->show_SubPages($subPage_type); $this->show_SubPages($subPage_type);
//echo $this->pageNums."--".$this->sub_pages; }  
                                                                                                  /*
__destruct destructor is called when the class is no longer in use. This function is used to release resources. 
*/ 
function __destruct(){
Unset($each_disNums);
Unset($nums);
Unset($current_page);
Unset($sub_pages);
Unset($pageNums);
Unset($page_array);
Unset($subPage_link);
Unset($subPage_type);
}  
                                                 /*
The show_SubPages function is used in the constructor. And used to determine what kind of paging to display
*/ 
function show_SubPages($subPage_type){ 
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){    
$this->subPageCss2();
}  
}  
                                                                                                  /*
Function used to initialize the paginated array. 
*/ 
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){ $this->page_array[$i]=$i; $this->page_array[$i]=$i;
}  
Return $this->page_array;
}  
                                                                                                  /*
​​construct_num_PageThis function is used to construct the displayed items ​
Even: [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++){ 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                 $current_array[$i]=$i+1;                                                                   }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){  
for($i=0;$i $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;                                                                   }else{  
for($i=0;$i $current_array[$i]=$this->current_page-2+$i;                                                                                                                                }  
                                                        Return $current_array;
}  
                                                 /*
Constructing paging in normal mode
A total of 4523 records, 10 records per page, current page 1/453 [Home] [Previous page] [Next page] [Last page]
*/ 
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.="[首页] ";      
    $subPageCss1Str.="[上一页] ";      
    }else {      
    $subPageCss1Str.="[首页] ";      
    $subPageCss1Str.="[上一页] ";      
    }      
         
    if($this->current_page < $this->pageNums){      
    $lastPageUrl=$this->subPage_link.$this->pageNums;      
    $nextPageUrl=$this->subPage_link.($this->current_page+1);      
    $subPageCss1Str.=" [下一页] ";      
    $subPageCss1Str.="[尾页] ";      
    }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.="[首页] ";      
    $subPageCss2Str.="[上一页] ";      
    }else {      
    $subPageCss2Str.="[首页] ";      
    $subPageCss2Str.="[上一页] ";      
    }      
         
   $a=$this->construct_num_Page();      
    for($i=0;$i     $s=$a[$i];      
     if($s == $this->current_page ){      
     $subPageCss2Str.="[".$s."]";      
     }else{      
     $url=$this->subPage_link.$s;      
     $subPageCss2Str.="[".$s."]";      
     }      
    }      
         
    if($this->current_page < $this->pageNums){      
    $lastPageUrl=$this->subPage_link.$this->pageNums;      
    $nextPageUrl=$this->subPage_link.($this->current_page+1);      
    $subPageCss2Str.=" [下一页] ";      
    $subPageCss2Str.="[尾页] ";      
    }else {      
    $subPageCss2Str.="[下一页] ";      
    $subPageCss2Str.="[尾页] ";      
    }      
    echo $subPageCss2Str;      
   }      
}      
?> 

/**
* 2011/8/24
* A very good paging class, let me share it with everyone
*
**/
class SubPages{ 
         
private $each_disNums;//Number of items displayed on each page
private $nums;//Total number of entries
private $current_page;//The currently selected page
private $sub_pages;//Number of pages displayed each time
private $pageNums; //Total number of pages
private $page_array = array(); //Used to construct an array for paging
private $subPage_link; //Link to each page
private $subPage_type; //Display paging type
/*
__construct is the constructor of SubPages, which is used to run automatically when creating a class.
@$each_disNums Number of items displayed on each page
@nums Total number of entries
@current_num The currently selected page
@sub_pages The number of pages displayed each time
@subPage_link Link to each page
@subPage_type Display the type of paging
 
When @subPage_type=1, it is normal paging mode
Example: 4523 records, 10 display per page, currently 1/453 page [Home] [Previous page] [Bottom page] [Tail Page]
When @subPage_type=2, it is the classic paging style
Example: Current page 1/453 [Home] [Previous page] 1 2 3 4 5 6 7 8 9 10 [Next page] [Last page]
*/ 
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){  
$this->each_disNums=intval($each_disNums);
$this->nums=intval($nums);
If(!$current_page){
$this->current_page=1;
}else{  
$this->current_page=intval($current_page);
}  
$this->sub_pages=intval($sub_pages);
$this->pageNums=ceil($nums/$each_disNums);
$this->subPage_link=$subPage_link;
$this->show_SubPages($subPage_type);
//echo $this->pageNums."--".$this->sub_pages;

         
         
/*
__destruct destructor is called when the class is no longer in use. This function is used to release resources.
*/ 
function __destruct(){
Unset($each_disNums);
Unset($nums);
​ unset($current_page);  
Unset($sub_pages);
Unset($pageNums);
Unset($page_array);
Unset($subPage_link);
Unset($subPage_type);
}  
         
/*
The show_SubPages function is used in the constructor. And used to determine what kind of paging to display
*/ 
function show_SubPages($subPage_type){
If($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){  
$this->subPageCss2();
}  
}  
         
         
/*
Function used to initialize the paginated array.
*/ 
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){ 
$this->page_array[$i]=$i;
}  
Return $this->page_array;
}  
         
         
/*
construct_num_Page This function is used to construct the displayed entries
Even: [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             $current_array[$i]=$i+1;                                                                                                                               }elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){  
for($i=0;$i $current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
                                                                    }else{  
for($i=0;$i $current_array[$i]=$this->current_page-2+$i;
                                                                   }  
}  
                         
Return $current_array;
}  
         
/*
Constructing paging in normal mode
A total of 4523 records, 10 records per page, current page 1/453 [Home] [Previous page] [Next page] [Last page]
*/ 
function subPageCss1(){
$subPageCss1Str="";
$subPageCss1Str.="Total ".$this->nums." records,";
$subPageCss1Str.="Display ".$this->each_disNums." items on each page,";
$subPageCss1Str.="Current page".$this->current_page."/".$this->pageNums."; "
If($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss1Str.="[Homepage] ";
$subPageCss1Str.="[Previous page] ";
}else {  
$subPageCss1Str.="[Home] ";
$subPageCss1Str.="[Previous page] ";
}  
                         
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss1Str.=" [Next page] ";
$subPageCss1Str.="[Last page] ";
}else {  
$subPageCss1Str.="[next page] ";
$subPageCss1Str.="[Last page] ";
}  
                         
echo $subPageCss1Str;
                         
}  
         
         
/*
Constructing classic mode pagination
Current page 1/453 [Home] [Previous page] 1 2 3 4 5 6 7 8 9 10 [Next page] [Last page]
*/ 
function subPageCss2(){
$subPageCss2Str="";
$subPageCss2Str.="Current page".$this->current_page."/".$this->pageNums."; "                          
                         
If($this->current_page > 1){
$firstPageUrl=$this->subPage_link."1";
$prewPageUrl=$this->subPage_link.($this->current_page-1);
$subPageCss2Str.="[Homepage] ";
$subPageCss2Str.="[Previous page] ";
}else {  
$subPageCss2Str.="[Home] ";
$subPageCss2Str.="[Previous page] ";
}  
                         
$a=$this->construct_num_Page();
for($i=0;$i $s=$a[$i];
If($s == $this->current_page ){
$subPageCss2Str.="[".$s." ]"; 
}else{  
$url=$this->subPage_link.$s;
$subPageCss2Str.="[".$s."]";
}  
}  
                         
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss2Str.=" [Next page] ";
$subPageCss2Str.="[Last page] ";
}else {  
$subPageCss2Str.="[next page] ";
$subPageCss2Str.="[Last page] ";
}  
echo $subPageCss2Str;
}  

?>


Excerpted from chaojie2009’s column

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/478366.htmlTechArticle?php /*** 2011/8/24 * A very good paging class, let me share it with everyone * **/ class SubPages{ private $each_disNums;//Items displayed on each page Number private $nums;//Total number of entries p...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template