一个php的分页类含调用方法PHP技术源码之家源码学院.docx
《一个php的分页类含调用方法PHP技术源码之家源码学院.docx》由会员分享,可在线阅读,更多相关《一个php的分页类含调用方法PHP技术源码之家源码学院.docx(15页珍藏版)》请在冰点文库上搜索。
一个php的分页类含调用方法PHP技术源码之家源码学院
Ò»¸öphpµÄ·ÖÒ³Àà(º¬µ÷Ó÷½·¨)-PHP¼¼Êõ-Ô´ÂëÖ®¼Ò-Ô´ÂëѧԺ.txtûÓв»ÌÛµÄÉË¿Ú£¬Ö»ÓÐÁ÷×ÅѪȴ΢ЦµÄÈËÓÐʱºò¸ø±ðÈË×î¼òµ¥µÄ½¨ÒéÈ´ÊÇ×Ô¼º×îÄÑ×öµ½µÄ¡£Ò»¸öphpµÄ·ÖÒ³Àà(º¬µ÷Ó÷½·¨)-PHP¼¼Êõ-Ô´ÂëÖ®¼Ò-Ô´ÂëѧԺ
±¾Õ¾Ô´ÂëÈ«²¿²âÊÔͨ¹ý£¬²¢ÅäÓÐǰ̨¼°ºǫ́¹ÜÀíÑÝʾͼ£¬ÂÌÉ«°²È«£¬Ã¿ÈÕ¸üУ¬Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú£¡ÉèΪÊ×Ò³¼ÓÈëÊÕ²Ø
ÍøÕ¾Ô´Âë|ASPÔ´Âë|PHPÔ´Âë|.NETÔ´Âë|JSPÔ´Âë|¹¤¾ßÈí¼þ|ÍøÒ³ÖÆ×÷|ͼÏñ¶¯»|·þÎñÆ÷|Êý¾Ý¿â|
×é¼þ²¹¶¡|ɱ¶¾°²È«
½Ì³ÌÊé¼®|ASP½Ì³Ì|PHP½Ì³Ì|.NET½Ì³Ì|ÍøÒ³ÖÆ×÷|³ÌÐòÄ£°å|PHPWindÄ£°å|Discuz!
Ä£°å|¶¯ÍøÄ£°å
|PHP168Ä£°å
ÍƼöÀ¸Ä¿|ASPÂÛ̳ԴÂë|ASPÆóÒµÍøÕ¾|PHPÂÛ̳ԴÂë|PHPÈ«Õ¾CMS|PHPÆóÒµÍøÕ¾|PHPÍøµêÉ̳Ç|Ô´Âë×ÊѶ|
½¨Õ¾¾Ñé|Ô´Âë·¢²¼
Ê×Ò³ÍøÕ¾Ô´Â빤¾ßÈí¼þ½Ì³ÌÊé¼®³ÌÐòÄ£°åÔ´ÂëѧԺԴÂëÂÛ̳
ËÑË÷
µ±Ç°Î»Öãº>Ê×Ò³->Ô´ÂëѧԺ->PHP¼¼ÊõÒ»¸öphpµÄ·ÖÒ³Àà(º¬µ÷Ó÷½·¨)
2010-08-0213:
54:
43À´Ô´:
Ô´ÂëÖ®¼ÒÕ¾³¤ÕûÀí¡¾´óÖÐС¡¿ä¯ÀÀ:
9´Î
php
//·½·¨µ÷ÓÃ:
$pages=newPages($perpage,$count,$page,'showpage.php?
page');
´´½¨¶ÔÏó
$pages->setShowPageNum($num);ÉèÖÃÏÔʾµÄÒ³Êý
$pages->setCurrentIndexPage($num);ÉèÖõ±Ç°Ò³ÔÚ·ÖÒ³À¸ÖеÄλÖÃ
$pages->setFirstPageText($text);ÉèÖÃÁ´½ÓµÚÒ»Ò³ÏÔʾµÄÎÄ×Ö
$pages->setLastPageText($text);ÉèÖÃÁ´½Ó×îºóÒ»Ò³ÏÔʾµÄÎÄ×Ö
$pages->setPrePageText($text);ÉèÖÃÁ´½ÓÉÏÒ»Ò³ÏÔʾµÄÎÄ×Ö
$pages->setNextPageText($text);ÉèÖÃÁ´½ÓÏÂÒ»Ò³ÏÔʾµÄÎÄ×Ö
$pages->setPageCss($css);ÉèÖø÷·ÖÒ³ÂëcssÑùʽµÄclassÃû³Æ
$pages->setCurrentPageCss($css);ÉèÖõ±Ç°Ò³ÂëcssÑùʽµÄclassÃû³Æ
$pages->setPageStyle($style);ÉèÖø÷·ÖÒ³ÂëµÄÑùʽ£¬¼´styleÊôÐÔ
$pages->setCurrentPageStyle($style);ÉèÖõ±Ç°Ò³ÂëµÄÑùʽ£¬¼´styleÊôÐÔ
$pages->setLinkSymbol('=');ÉèÖõØÖ·Á´½ÓÖÐÒ³ÂëÓë±äÁ¿µÄÁ¬½Ó·û£¬Èçpage=2Öеġ°=¡±
$pages->isShowFirstAndLast(true);ÉèÖÃÊÇ·ñÏÔʾµÚÒ»Ò³Óë×îºóÒ»Ò³µÄÁ´½Ó
$pages->isShowForSimplePage(true);ÉèÖõ±Ö»ÓÐһҳʱÊÇ·ñÏÔʾ·ÖÒ³
$pageCount=$pages->getTotalPageNum();»ñÈ¡×ÜÒ³Êý
?
>
php
//·ÖÒ³Àà
classPages{
private$eachDisNums;//ÿҳÏÔʾµÄÌõÄ¿Êý
private$nums;//×ÜÌõÄ¿Êý
private$currentPage;//µ±Ç°±»Ñ¡ÖеÄÒ³
private$showPageNum=5;//ÿ´ÎÏÔʾµÄÒ³Êý
private$curIndexPage=3;//µ±Ç°Ò³ÔÚ·ÖÒ³ÖеÄλÖÃ
private$totalPageNum;//×ÜÒ³Êý
private$arrPage=array();//ÓÃÀ´¹¹Ôì·ÖÒ³µÄÊý×é
private$subPageLink;//ÿ¸ö·ÖÒ³µÄÁ´½Ó
private$firstPageText='1..';//µÚÒ»Ò³ÏÔʾµÄÎÄ×Ö
private$lastPageText;//×îºóÒ»Ò³ÏÔʾµÄÎÄ×Ö
private$prePageText='<';//ÉÏÒ»Ò³ÏÔʾµÄÎÄ×Ö
private$nextPageText='>';//ÏÂÒ»Ò³ÏÔʾµÄÎÄ×Ö
private$pageCss='';//Ò»°ãÒ³µÄÑùʽÃû³Æ
private$curPageCss='';//µ±Ç°Ò³µÄÑùʽÃû³Æ
private$pageStyle='';//Ò»°ãÒ³µÄÑùʽ
private$curPageStyle='';//µ±Ç°Ò³µÄÑùʽ
private$linkSymbol='=';//urlÁ´½ÓµØÖ·ÖÐpageÓëÒ³ÊýÖ®¼äµÄ·ûºÅ
private$isShowFirstLast=true;//ÊÇ·ñÏÔʾµÚÒ»Ò³ºÍ×îºóÒ»Ò³
private$isShowForSimplePage=false;
//µ±Ã»ÓзÖҳʱ(¼´×ÜÌõÄ¿Êý²»´óÓÚÿҳÏÔʾµÄÌõÄ¿Êý)ÊÇ·ñÏÔʾ·ÖÒ³À¸
/**
*ÉèÖÃÏÔʾµÄÒ³Êý
*
*@paraminteger$numÏÔʾµÄÒ³Êý
*@returnvoid
*/
publicfunctionsetShowPageNum($num){
$this->showPageNum=$num;
}
/**
*ÉèÖõ±Ç°Ò³ÔÚ·ÖÒ³À¸ÖеÄλÖÃ
*
*@paraminteger$numµ±Ç°Ò³ÔÚ·ÖÒ³À¸ÖеÄλÖÃ
*@returnvoid
*/
publicfunctionsetCurrentIndexPage($num){
$this->curIndexPage=$num;
}
/**
*ÉèÖÃÁ´½ÓµÚÒ»Ò³ÏÔʾµÄÎÄ×Ö
*
*@paramstring$textÒªÏÔʾµÄÎÄ×Ö
*@returnvoid
*/
publicfunctionsetFirstPageText($text){
$this->firstPageText=$text;
}
/**
*ÉèÖÃÁ´½Ó×îºóÒ»Ò³ÏÔʾµÄÎÄ×Ö
*
*@paramstring$textÒªÏÔʾµÄÎÄ×Ö
*@returnvoid
*/
publicfunctionsetLastPageText($text){
$this->lastPageText=$text;
}
/**
*ÉèÖÃÁ´½ÓÉÏÒ»Ò³ÏÔʾµÄÎÄ×Ö
*
*@paramstring$textÒªÏÔʾµÄÎÄ×Ö
*@returnvoid
*/
publicfunctionsetPrePageText($text){
$this->prePageText=$text;
}
/**
*ÉèÖÃÁ´½ÓÏÂÒ»Ò³ÏÔʾµÄÎÄ×Ö
*
*@paramstring$textÒªÏÔʾµÄÎÄ×Ö
*@returnvoid
*/
publicfunctionsetNextPageText($text){
$this->nextPageText=$text;
}
/**
*ÉèÖø÷·ÖÒ³ÂëcssÑùʽµÄclassÃû³Æ
*
*@paramstring$csscssÑùʽÃû³Æ
*@returnvoid
*/
publicfunctionsetPageCss($css){
$this->pageCss=$css;
}
/**
*ÉèÖõ±Ç°Ò³ÂëcssÑùʽµÄclassÃû³Æ
*
*@paramstring$csscssÑùʽÃû³Æ
*@returnvoid
*/
publicfunctionsetCurrentPageCss($css){
$this->curPageCss=$css;
}
/**
*ÉèÖø÷·ÖÒ³ÂëµÄÑùʽ£¬¼´styleÊôÐÔ
*
*@paramstring$stylestyleÑùʽ
*@returnvoid
*/
publicfunctionsetPageStyle($style){
$this->pageStyle=$style;
}
/**
*ÉèÖõ±Ç°Ò³ÂëµÄÑùʽ£¬¼´styleÊôÐÔ
*
*@paramstring$stylestyleÑùʽ
*@returnvoid
*/
publicfunctionsetCurrentPageStyle($style){
$this->curPageStyle=$style;
}
/**
*ÉèÖõØÖ·Á´½ÓÖÐÒ³ÂëÓë±äÁ¿µÄÁ¬½Ó·û£¬Èçpage=2Öеġ°=¡±
*
*@paramstring$symbolÁ¬½Ó·ûºÅ
*@returnvoid
*/
publicfunctionsetLinkSymbol($symbol){
$this->linkSymbol=$symbol;
}
/**
*»ñÈ¡×ÜÒ³Êý
*
*@accessprivate
*@returninteger
*/
publicfunctiongetTotalPageNum(){
return$this->totalPageNum;
}
/**
*ÉèÖÃÊÇ·ñÏÔʾµÚÒ»Ò³Óë×îºóÒ»Ò³µÄÁ´½Ó
*
*@paramboolean$istrue:
ÏÔʾ£¬false:
²»ÏÔʾ
*@returnvoid
*/
publicfunctionisShowFirstAndLast($is){
$this->isShowFirstLast=$is;
}
/**
*ÉèÖõ±Ö»ÓÐһҳʱÊÇ·ñÏÔʾ·ÖÒ³
*
*@paramboolean$istrue:
ÏÔʾ£¬false:
²»ÏÔʾ
*@returnvoid
*/
publicfunctionisShowForSimplePage($is){
$this->isShowForSimplePage=$is;
}
/**
*¹¹Ôì·½·¨
*
*@paraminteger$eachDisNumsÿҳÏÔʾµÄÌõÄ¿Êý
*@paraminteger$nums×ÜÌõÄ¿Êý
*@paraminteger$current_numµ±Ç°±»Ñ¡ÖеÄÒ³
*@paraminteger$showPageNumÿ´ÎÏÔʾµÄÒ³Êý
*@paraminteger$subPageLinkÿ¸ö·ÖÒ³µÄÁ´½Ó
*@paraminteger$subPage_typeÏÔʾ·ÖÒ³µÄÀàÐÍ
*@returnvoid
*/
publicfunction__construct($eachDisNums,$nums,$currentPage,
$subPageLink){
$this->eachDisNums=intval($eachDisNums);
$nums=$nums==0?
1:
$nums;
$this->nums=intval($nums);
$this->totalPageNum=ceil($nums/$eachDisNums);
$this->currentPage=intval($currentPage);
$this->currentPage=$this->currentPage<=0?
1:
$this->currentPage;
$this->currentPage=$this->currentPage>$this->totalPageNum?
1:
$this->currentPage;
$this->subPageLink=$subPageLink;
$this->lastPageText='..'.$this->totalPageNum;
}
publicfunction__destruct(){
unset($this->eachDisNums);
unset($this->nums);
unset($this->currentPage);
unset($this->showPageNum);
unset($this->curIndexPage);
unset($this->totalPageNum);
unset($this->arrPage);
unset($this->subPageLink);
unset($this->firstPageText);
unset($this->lastPageText);
unset($this->prePageText);
unset($this->nextPageText);
unset($this->pageCss);
unset($this->curPageCss);
unset($this->pageStyle);
unset($this->curPageStyle);
unset($this->linkSymbol);
unset($this->isShowFirstLast);
unset($this->isShowForSimplePage);
}
/**
*Éú³É·ÖÒ³
*
*@returnstring
*/
publicfunctiongeneratePages(){
$subPageCss2Str='';
$isShow=false;
if($this->totalPageNum==1){//Ö»ÓÐһҳʱ
if($this->isShowForSimplePage){
$isShow=true;
}
}else{
$isShow=true;
}
if($isShow){
if($this->currentPage>1){
$prewPageUrl=
$this->subPageLink.$this->linkSymbol.($this->currentPage-1);
if($this->isShowFirstLast){
$firstPageUrl=$this->subPageLink.$this->linkSymbol."1";
$subPageCss2Str.='class="'.$this->pageCss.'"
style="'.$this->pageStyle.'">'.$this->firstPageText.'';
}
$subPageCss2Str.='class="'.$this->pageCss.'"
style="'.$this->pageStyle.'">'.$this->prePageText.'';
}
$a=$this->construct_num_Page();
for($i=0;$i$s=$a[$i];
if($s==$this->currentPage){
$subPageCss2Str.='class="'.$this->curPageCss.'"
style="'.$this->curPageStyle.'">'.$s.'';
}else{
$url=$this->subPageLink.$this->linkSymbol.$s;
$subPageCss2Str.='class="'.$this->pageCss.'"style="'.$this->pageStyle.'">'.$s.'';
}
}
if($this->currentPage<$this->totalPageNum){
$nextPageUrl=
$this->subPageLink.$this->linkSymbol.($this->currentPage+1);
$subPageCss2Str.='class="'.$this->pageCss.'"
style="'.$this->pageStyle.'">'.$this->nextPageText.'';
if($this->isShowFirstLast){
$lastPageUrl=
$this->subPageLink.$this->linkSymbol.$this->totalPageNum;
$subPageCss2Str.='class="'.$this->pageCss.'"
style="'.$this->pageStyle.'">'.$this->lastPageText.'';
}
}
}
return$subPageCss2Str;
}//EndofgeneratePages()Method
/**
*ÓÃÀ´¸ø½¨Á¢·ÖÒ³µÄÊý×é³õʼ»¯µÄº¯Êý¡£
*
*@returnarray
*/
privatefunctioninitArray(){
for($i=0;$i<$this->showPageNum;$i++){
$this->arrPage[$i]=$i;
}
return$this->arrPage;
}//EndofinitArray()Method
/**
*ÓÃÀ´¹¹ÔìÏÔʾµÄÌõÄ¿
*¼´£º[1][2][3][4][5][6][7][8][9][10]
*
*@returnarray
*/
privatefunctionconstruct_num_Page(){
if($this->totalPageNum<$this->showPageNum){
$currentArray=array();
for($i=0;$i<$this->totalPageNum;$i++){
$currentArray[$i]=$i+1;
}
}else{
$currentArray=$this->initArray();
$curArrayLen=count($currentArray);
if($this->currentPage<=$this->curIndexPage){
for($i=0;$i<$curArrayLen;$i++){
$currentArray[$i]=$i+1;
}
}elseif(($this->currentPage<=$this->totalPageNum)&&
($this->currentPage>($this->totalPageNum-$this->showPageNum+
1))){
//¹¹Ôì×îºóµÄ·ÖÒ³À¸£¬353637383940[ÏÂÒ»Ò³][×îºóÒ»Ò³]×ÜÒ³ÊýΪ40
for($i=0;$i<$curArrayLen;$i++){
$currentArray[$i]=$this->totalPageNum-
$this->showPageNum+1+$i;
}
}else{
for($i=0;$i<$curArrayLen;$i++){
$currentArray[$i]=$this->currentPage-
$this->curIndexPage+1+$i;
}
}
}
return$currentArray;
}//Endofconstruct_num_Page()Method
}//EndofPagesClass
?
>
Tags£ºÒ»¸öphp·ÖÒ³Ààµ÷Ó÷½·¨
¡¾´óÖÐС¡¿¡¾´òÓ¡¡¿¡¾·±Ìå¡¿¡¾¹Ø±Õ¡¿¡¾·µ»Ø¶¥²¿¡¿