PHP 分页类 高洛峰 细说PHP
生活随笔
收集整理的這篇文章主要介紹了
PHP 分页类 高洛峰 细说PHP
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分頁類
<?php?//分頁類class?Page{private?$total;??????????//總記錄數private?$nums;????????//每頁顯示的條數private?$pages;???????//總頁數private?$cpage;??????//當前頁private?$url;???????????//當前urlpublic??function?__construct($total,$nums){$this->total??????=?????$total;$this->nums?????=?????$nums;$this->pages????=??????$this->getPages();$this->url?????????=??????$this->setUrl();//獲取當前頁$this->cpage???=????!empty($_GET['page'])???intval($_GET['page']):1;$this->cpage???=????$this->cpage>0??$this->cpage:1;$this->cpage???=????$this->cpage>$this->pages?$this->pages:$this->cpage;}private?function?setUrl(){$url????=???$_SERVER['REQUEST_URI'];if(strstr($url,?"?")){$arr?=?parse_url($url);if(isset($arr['query'])){parse_str($arr['query'],$output);}//刪除url中重復的page=n的字符串unset($output['page']);$url?=?$arr['path']."?".http_build_query($output);}else{$url?.="?";}return?$url;}//獲取頁數private?function?getPages(){return??ceil($this->total/$this->nums);//?向上取整法}//首頁private?function?first(){//如果當前頁是第一頁?則不顯示這些if($this->cpage>1){$pre????=???$this->cpage-1;return?'<a?href="'.$this->url.'&page=1">首頁</a> <a?href="'.$this->url.'&page='.$pre.'">上一頁</a>';}else{return?'';}???????????????????????}//列表private?function?flist(){$list???????=???"";$num????=???4;//當前頁之前的設置for($i=$num;$i?>=1;$i--){$page???=???$this->cpage-$i;if($page?>1){$list??????.=??' <a?href="'.$this->url.'&page='.$page.'">'.$page.'</a> ';}}//當前頁的設置if($this->pages>1){$list???.=' '.$this->cpage.' ';}//當前頁之后的設置for($i=1;$i?<=$num;$i++){$page???=???$this->cpage+$i;if($page?<=?$this->pages){$list??????.=??' <a?href="'.$this->url.'&page='.$page.'">'.$page.'</a> ';}else{break;}????????????????????????????}return?$list;}//末頁private?function?last(){if($this->cpage?<?$this->pages){$next????=???$this->cpage+1;return?'<a?href="'.$this->url.'&page='.$next.'">下一頁</a> <a?href="'.$this->url.'&page='.$this->pages.'">末頁</a>?';}else{return?'';}}//開始????從多少條記錄開始private?function?start(){return??($this->cpage-1)*$this->nums+1;}//結束????到多少條記錄結束private?function?end(){return??min($this->cpage*$this->nums,$this->total);}//當前顯示的條數private?function?currnum(){return?$this->end()-$this->start()+1;}//分頁方法public?function?fpage(){$arr?=??func_get_args();$fpage?="";$pages[0]=" 共{$this->total}條記錄 ";$pages[1]=" 本頁顯示".$this->currnum()."條記錄 ";$pages[2]=" 從".$this->start()."-".$this->end()."條 ";$pages[3]=" {$this->cpage}/{$this->pages} ";$pages[4]=" ".$this->first()." ";$pages[5]=" ".$this->flist()." ";$pages[6]=" ".$this->last()." ";if(count($arr)<1)$arr????=???array(0,1,2,3,4,5,6);foreach($arr?as?$n){$fpage??.=??$pages[$n];}return?$fpage;}}調用分頁類
????????include?'print.php';$page?=?new?Page(1000,10);echo?$page->fpage(6,4,5);轉載于:https://blog.51cto.com/11410485/1842273
總結
以上是生活随笔為你收集整理的PHP 分页类 高洛峰 细说PHP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codeforces Divisibil
- 下一篇: 裁剪图片、添加水印