配色: 字号:
php分页类代码
2016-08-17 | 阅:  转:  |  分享 
  
php分页类代码


/

PHP分页类

@packagePage

@Created2013-03-27

@Modify2013-03-27

@linkhttp://www.60ie.net

Example:

$myPage=newPager(1300,intval($CurrentPage));

$pageStr=$myPage->GetPagerContent();

echo$pageStr;

/

classPager{

private$pageSize=10;

private$pageIndex;

private$totalNum;



private$totalPagesCount;



private$pageUrl;

privatestatic$_instance;



publicfunction__construct($p_totalNum,$p_pageIndex,$p_pageSize=10,$p_initNum=3,$p_initMaxNum=5){

if(!isset($p_totalNum)||!isset($p_pageIndex)){

die("pagerinitialerror");

}



$this->totalNum=$p_totalNum;

$this->pageIndex=$p_pageIndex;

$this->pageSize=$p_pageSize;

$this->initNum=$p_initNum;

$this->initMaxNum=$p_initMaxNum;

$this->totalPagesCount=ceil($p_totalNum/$p_pageSize);

$this->pageUrl=$this->_getPageUrl();



$this->_initPagerLegal();

}





/

获取去除page部分的当前URL字符串



@returnStringURL字符串

/

privatefunction_getPageUrl(){

$CurrentUrl=$_SERVER["REQUEST_URI"];

$arrUrl=parse_url($CurrentUrl);

$urlQuery=$arrUrl["query"];



if($urlQuery){

$urlQuery=ereg_replace("(^|&)page=".$this->pageIndex,"",$urlQuery);

$CurrentUrl=str_replace($arrUrl["query"],$urlQuery,$CurrentUrl);



if($urlQuery){

$CurrentUrl.="&page";

}

else$CurrentUrl.="page";



}else{

$CurrentUrl.="?page";

}



return$CurrentUrl;



}

/

设置页面参数合法性

@returnvoid

/

privatefunction_initPagerLegal()

{

if((!is_numeric($this->pageIndex))||$this->pageIndex<1)

{

$this->pageIndex=1;

}elseif($this->pageIndex>$this->totalPagesCount)

{

$this->pageIndex=$this->totalPagesCount;

}

}

//$this->pageUrl}={$i}

//{$this->CurrentUrl}={$this->TotalPages}

publicfunctionGetPagerContent(){

$str="";

//首页上一页

if($this->pageIndex==1)

{

$str.="首页"."\n";

$str.="上一页"."\n"."\n";

}else

{

$str.="pageUrl}=1''class=''tips''title=''首页''>首页"."\n";

$str.="pageUrl}=".($this->pageIndex-1)."''class=''tips''title=''上一页''>上一页"."\n"."\n";

}



/



除首末后页面分页逻辑



/

//10页(含)以下

$currnt="";

if($this->totalPagesCount<=10)

{



for($i=1;$i<=$this->totalPagesCount;$i++)



{

if($i==$this->pageIndex)

{$currnt="class=''current''";}

else

{$currnt="";}

$str.="pageUrl}={$i}''{$currnt}>$i"."\n";

}

}else//10页以上

{if($this->pageIndex<3)//当前页小于3

{

for($i=1;$i<=3;$i++)

{

if($i==$this->pageIndex)

{$currnt="class=''current''";}

else

{$currnt="";}

$str.="pageUrl}={$i}''{$currnt}>$i"."\n";

}



$str.="……"."\n";



for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1

{

$str.="pageUrl}={$i}''>$i"."\n";



}

}elseif($this->pageIndex<=5)//5>=当前页>=3

{

for($i=1;$i<=($this->pageIndex+1);$i++)

{

if($i==$this->pageIndex)

{$currnt="class=''current''";}

else

{$currnt="";}

$str.="pageUrl}={$i}''{$currnt}>$i"."\n";



}

$str.="……"."\n";



for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)//功能1

{

$str.="pageUrl}={$i}''>$i"."\n";



}



}elseif(5<$this->pageIndex&&$this->pageIndex<=$this->totalPagesCount-5)//当前页大于5,同时小于总页数-5



{



for($i=1;$i<=3;$i++)

{

$str.="pageUrl}={$i}''>$i"."\n";

}

$str.="……";

for($i=$this->pageIndex-1;$i<=$this->pageIndex+1&&$i<=$this->totalPagesCount-5+1;$i++)

{

if($i==$this->pageIndex)

{$currnt="class=''current''";}

else

{$currnt="";}

$str.="pageUrl}={$i}''{$currnt}>$i"."\n";

}

$str.="……";



for($i=$this->totalPagesCount-3+1;$i<=$this->totalPagesCount;$i++)

{

$str.="pageUrl}={$i}''>$i"."\n";



}

}else

{



for($i=1;$i<=3;$i++)

{

$str.="pageUrl}={$i}''>$i"."\n";

}

$str.="……"."\n";



for($i=$this->totalPagesCount-5;$i<=$this->totalPagesCount;$i++)//功能1

{

if($i==$this->pageIndex)

{$currnt="class=''current''";}

else

{$currnt="";}

$str.="pageUrl}={$i}''{$currnt}>$i"."\n";



}

}



}

/



除首末后页面分页逻辑结束



/

//下一页末页

if($this->pageIndex==$this->totalPagesCount)

{

$str.="\n"."下一页"."\n";

$str.="末页"."\n";





}else

{

$str.="\n"."pageUrl}=".($this->pageIndex+1)."''class=''tips''title=''下一页''>下一页"."\n";

$str.="pageUrl}={$this->totalPagesCount}''class=''tips''title=''末页''>末页"."\n";

}



$str.="";

return$str;

}



/

获得实例

@return

/

//staticpublicfunctiongetInstance(){

//if(is_null(self::$_instance)){

//self::$_instance=newpager();

//}

//returnself::$_instance;

//}



}

?>



献花(0)
+1
(本文系网络学习天...首藏)