Home  >  Article  >  Backend Development  >  Perfect PHP article pagination class_PHP tutorial

Perfect PHP article pagination class_PHP tutorial

WBOY
WBOYOriginal
2016-07-20 11:07:13810browse

Perfect PHP tutorial article pagination class
class SubPages{
private $each_disNums;//Number of entries 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 paging Array of
private $subPage_link;//The link of each page
private $subPage_type;//Display the type of page
/*
__construct is the constructor of SubPages, used to create the class Automatically run when running.
@$each_disNums The number of items displayed on each page
@nums The total number of items
@current_num The currently selected page
@sub_pages The number of pages displayed each time
@subPage_link The link of each page
@subPage_type Display the type of paging

When @subPage_type=1, it is the normal paging mode
Example: A total of 4523 records, 10 are displayed on each page, the current 1st /453 pages [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);
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); //Call the show_SubPages function
// echo $this->pageNums."--".$this->sub_pages;
}
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();
}
}


/*
Used to create pagination Array initialization function.
*/
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 entry
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;
}
/*
Construct normal mode paging
A total of 4523 records, each The page displays 10 items, the current page is 1/453 [Home] [Previous page] [Next page] [Last page]
*/
function subPageCss1(){
$subPageCss1Str="";
$subPageCss1Str.="Total ".$this->nums." records,";
$subPageCss1Str.="Display ".$this->each_disNums." records per page,";
$subPageCss1Str.="Current page".$this->current_page."/".$this->pageNums."Page";
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; 4 5 6 7 8 9 10 [Next page] [Last page]
*//* For product pages*/
function subPageCss2(){
$subPageCss2Str="";

//jason edit
//$subPageCss2Str.="

  • Current page ".$this->current_page."/".$this->pageNums."< /li>";
    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.="
  • Homepage
  • ";
    $subPageCss2Str.="
  • Previous page
  • ";
    }
     
    $a=$this->construct_num_Page();
    for($i=0;$i< count($a);$i++){
    $s = $a[$i];
    if($s == $this->current_page ){
         $subPageCss2Str.="
  • ".$s."
  • ";
        }else{
         $url=$this->subPage_link.$s;
         //echo $url;exit;
         $subPageCss2Str.="
  • ".$s."
  • ";
         //echo $subPageCss2Str;
        }
       }
       //exit;
       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;
      }
     }


    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444974.htmlTechArticle完美php教程文章分页类 class SubPages{ private $each_disNums;//每页显示的条目数 private $nums;//总条目数 private $current_page;//当前被选中的页 private $...
    Statement:
    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