PHP實(shí)現(xiàn)簡(jiǎn)單實(shí)用的分頁(yè)類代碼
本文實(shí)例講述了PHP實(shí)現(xiàn)簡(jiǎn)單實(shí)用的分頁(yè)類。分享給大家供大家參考,具體如下:
<?php
class Page {
private $total; //總記錄
private $pagesize; //每頁(yè)顯示多少條
private $limit; //limit
private $page; //當(dāng)前頁(yè)碼
private $pagenum; //總頁(yè)碼
private $url; //地址
private $bothnum; //兩邊保持?jǐn)?shù)字分頁(yè)的量
//構(gòu)造方法初始化
public function __construct($_total, $_pagesize) {
$this->total = $_total ? $_total : 1;
$this->pagesize = $_pagesize;
$this->pagenum = ceil($this->total / $this->pagesize);
$this->page = $this->setPage();
$this->limit = "LIMIT ".($this->page-1)*$this->pagesize.",$this->pagesize";
$this->url = $this->setUrl();
$this->bothnum = 2;
}
//攔截器
private function __get($_key) {
return $this->$_key;
}
//獲取當(dāng)前頁(yè)碼
private function setPage() {
if (!empty($_GET['page'])) {
if ($_GET['page'] > 0) {
if ($_GET['page'] > $this->pagenum) {
return $this->pagenum;
} else {
return $_GET['page'];
}
} else {
return 1;
}
} else {
return 1;
}
}
//獲取地址
private function setUrl() {
$_url = $_SERVER["REQUEST_URI"];
$_par = parse_url($_url);
if (isset($_par['query'])) {
parse_str($_par['query'],$_query);
unset($_query['page']);
$_url = $_par['path'].'?'.http_build_query($_query);
}
return $_url;
} //數(shù)字目錄
private function pageList() {
for ($i=$this->bothnum;$i>=1;$i--) {
$_page = $this->page-$i;
if ($_page < 1) continue;
$_pagelist .= ' <a href="'.$this->url.'&page='.$_page.'">'.$_page.'</a> ';
}
$_pagelist .= ' <span class="me">'.$this->page.'</span> ';
for ($i=1;$i<=$this->bothnum;$i++) {
$_page = $this->page+$i;
if ($_page > $this->pagenum) break;
$_pagelist .= ' <a href="'.$this->url.'&page='.$_page.'">'.$_page.'</a> ';
}
return $_pagelist;
}
//首頁(yè)
private function first() {
if ($this->page > $this->bothnum+1) {
return ' <a href="'.$this->url.'">1</a> ...';
}
}
//上一頁(yè)
private function prev() {
if ($this->page == 1) {
return '<span class="disabled">上一頁(yè)</span>';
}
return ' <a href="'.$this->url.'&page='.($this->page-1).'">上一頁(yè)</a> ';
}
//下一頁(yè)
private function next() {
if ($this->page == $this->pagenum) {
return '<span class="disabled">下一頁(yè)</span>';
}
return ' <a href="'.$this->url.'&page='.($this->page+1).'">下一頁(yè)</a> ';
}
//尾頁(yè)
private function last() {
if ($this->pagenum - $this->page > $this->bothnum) {
return ' ...<a href="'.$this->url.'&page='.$this->pagenum.'">'.$this->pagenum.'</a> ';
}
}
//分頁(yè)信息
public function showpage() {
$_page .= $this->first();
$_page .= $this->pageList();
$_page .= $this->last();
$_page .= $this->prev();
$_page .= $this->next();
return $_page;
}
}
?>
分頁(yè)樣式如下圖所示:

使用說(shuō)明:
<?php $_page = new Page($_total,$_pagesize); //其中 $_total 是數(shù)據(jù)集的總條數(shù),$_pagesize 是每頁(yè)顯示的數(shù)量. ?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php文件操作總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP實(shí)現(xiàn)可自定義樣式的分頁(yè)類
- php自定義分頁(yè)類完整實(shí)例
- 兩款萬(wàn)能的php分頁(yè)類
- php簡(jiǎn)單分頁(yè)類實(shí)現(xiàn)方法
- PHP分頁(yè)類集錦
- 仿dedecms下拉分頁(yè)樣式修改的thinkphp分頁(yè)類實(shí)例
- 高效mongodb的php分頁(yè)類(不使用skip)
- ThinkPHP使用心得分享-分頁(yè)類Page的用法
- ThinkPHP分頁(yè)類使用詳解
- 精美漂亮的php分頁(yè)類代碼
- 仿Aspnetpager的一個(gè)PHP分頁(yè)類代碼 附源碼下載
- PHP ajax 分頁(yè)類代碼
相關(guān)文章
PHP實(shí)現(xiàn)的多進(jìn)程控制demo示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的多進(jìn)程控制demo,涉及php信號(hào)處理與進(jìn)程控制相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
php短域名轉(zhuǎn)換為實(shí)際域名函數(shù)
現(xiàn)在很多朋友需要將實(shí)際域名轉(zhuǎn)換為短域名,但也有朋友需要反轉(zhuǎn)查看下實(shí)際域名,那么就可以使用這個(gè)函數(shù)。2011-01-01
php對(duì)大文件進(jìn)行讀取操作的實(shí)現(xiàn)代碼
在php中,對(duì)于文件的讀取時(shí),最快捷的方式莫過(guò)于使用一些諸如file、file_get_contents之類的函數(shù),簡(jiǎn)簡(jiǎn)單單的幾行代碼就能很漂亮的完成我們所需要的功能。但當(dāng)所操作的文件是一個(gè)比較大的文件時(shí),這些函數(shù)可能就顯的力不從心, 下面將從一個(gè)需求入手來(lái)說(shuō)明對(duì)于讀取大文件時(shí),常用的操作方法2013-01-01

