php分頁類
//分頁類
class page{
private $total_rows; //總條數
private $onepage_rows;//一頁顯示數量
private $total_page; //總頁數
private $page_rows; //頁碼數量
private $start_id;//描述起始ID
private $end_id;//描述結束ID
private $desc = ''; //描述上一頁,下一頁
private $self_page; //當前頁
private $url;
public function __construct($total,$onepage_rows=10,$page_rows=5,$desc=''){
$this->total_rows = $total;
$this->onepage_rows = $onepage_rows;
$this->page_rows = $page_rows;
$this->total_page = ceil($this->total_rows / $this->onepage_rows);
$this->self_page = min(max((int)@$_GET['page'],1),$this->total_page);
$this->start_id= ($this->self_page-1)*$this->onepage_rows+1;
$this->end_id= min($this->self_page*$this->onepage_rows , $this->total_rows);
$this->desc = $this->desc($desc); //上一頁 下一頁 共X條記錄等資訊
$this->url = $this->requestUrl(); //URL生成
}
private function requestUrl(){
$url =isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ;
$parse_url = parse_url($url);
if(isset($parse_url['query'])){
parse_str($parse_url['query'],$arr);
unset($arr['page']);
$url = $parse_url['path'] .'?'.http_build_query($arr).'&page=';
}else{
$url = strstr($url,'?') ? $url.'page=' :$url. '?page=';
}
return $url;
}
//指定列表頁碼
public function pagelist(){
$start=max(1,min($this->self_page-ceil($this->page_rows/2),$this->total_page-$this->page_rows));
$end=$start + $this->page_rows;
$arr = array();
for($i=$start; $i
if($i == $this->self_page){
$arr[$i]['url'] = '';
$arr[$i]['str'] = $i;
continue;
}
$arr[$i]['url'] = $this->url.$i;
$arr[$i]['str'] = $i;
}
return $arr;
}
//返回程式碼列表的字串表示
public function pageshow(){
$pagelist = $this->pagelist();
$pagestr = '';
foreach($pagelist as $v){
if(empty($v['url'])){
$pagestr .= ''.$v['str'].'';
continue;
}
$pagestr .= "':'';
}
//末頁
public function last(){
return $this->self_page page_rows ? '':'';
}
//上一頁
public function prev(){
return $this->self_page > 1 ? '':'';
}
//下一頁
public function next(){
return $this->self_page total_page ? '':'';
}
//返回當前第X-X條
public function nowpage(){
return '當前第'.$this->self_page.'頁 第'.$this->start_id.'——'.$this->end_id.'條';
}
public function limit(){
return 'limit '.max(0,($this->self_page-1)*$this->onepage_rows).','.$this->onepage_rows;
}
}
?>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2035/viewspace-2802224/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php 分頁 分頁類 簡單實用PHP
- PHP物件導向(OOP)—-分頁類PHP物件OOP
- PHP中物件導向的分頁類PHP物件
- php 分頁PHP
- php分頁顯示PHP
- PHP 使用 Redis 實現分頁PHPRedis
- 分頁類--兄弟會倡哥
- 分頁實現前臺後臺不同效果,分頁類引入
- PHP實現無限極分類PHP
- PHP 原生操作 Mysql 分頁資料案例PHPMySql
- [文件教程]首頁分類遍歷
- php 無限分類遞迴 和 無限分類引入 的效能差距PHP遞迴
- [需求建議]希望加入單頁模型(單頁分類)模型
- PHP 無限級分類最佳實踐PHP
- 24-PHP+MySQL分頁技術詳解PHPMySql
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- php原聲實現分頁程式碼示例PHP
- php陣列的分類有哪幾個PHP陣列
- ssycms常用分類列表頁面的呼叫標籤
- iOS 類知乎”分頁”效果的實現?iOS
- PHP 函式庫 1 - 函式庫的分類PHP函式
- php無限級分類函式(無極限)PHP函式
- 使用 Laravel Resource 類時自定義分頁資訊Laravel
- PHP 快速掃描列表建立無限極分類樹PHP
- mysql分頁-limit offset分頁MySqlMIT
- Spring統一返回Json工具類,帶分頁資訊SpringJSON
- 關於無限極分類設計如何分頁?如何設計出高效能的無限極分類?
- 京東獲得jd商品分類API介面(父分類、根分類、子分類)API
- flask 分頁 | 翻頁Flask
- PHP中的無限級分類、無限巢狀評論PHP巢狀
- PHP+jPaginate外掛製作無重新整理分頁例項PHP
- 直播商城原始碼,實現左右聯動商品分類頁面原始碼
- PHP 新增匿名類PHP
- 分頁器
- Flask——分頁Flask
- 集合分頁
- 分頁案例
- nginx解析php頁面NginxPHP