本文介绍一款原生的PHP分页类,分页样式有点类似bootstrap。<?php <br />
<br>
/* * *********************************************<br>
* @类名: page<br>
* @参数: $myde_total - 总记录数<br>
* $myde_size - 一页显示的记录数<br>
* $myde_page - 当前页<br>
* $myde_url - 获取当前的url<br>
* @功能: 分页实现<br>
* @作者: 宋海阁<br>
*/<br>
<br>
class page {<br>
<br>
private $myde_total; //总记录数<br>
private $myde_size; //一页显示的记录数<br>
private $myde_page; //当前页<br>
private $myde_page_count; //总页数<br>
private $myde_i; //起头页数<br>
private $myde_en; //结尾页数<br>
private $myde_url; //获取当前的url<br>
/*<br>
* $show_pages<br>
* 页面显示的格式,显示链接的页数为2*$show_pages 1。<br>
* 如$show_pages=2那么页面上显示就是[首页] [上页] 1 2 3 4 5 [下页] [尾页] <br>
*/<br>
private $show_pages;<br>
<br>
public function __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) {<br>
$this->myde_total = $this->numeric($myde_total);<br>
$this->myde_size = $this->numeric($myde_size);<br>
$this->myde_page = $this->numeric($myde_page);<br>
$this->myde_page_count = ceil($this->myde_total / $this->myde_size);<br>
$this->myde_url = $myde_url;<br>
if ($this->myde_total
$this->myde_total = 0;<br>
if ($this->myde_page
$this->myde_page = 1;<br>
if ($this->myde_page_count
$this->myde_page_count = 1;<br>
if ($this->myde_page > $this->myde_page_count)<br>
$this->myde_page = $this->myde_page_count;<br>
$this->limit = ($this->myde_page - 1) * $this->myde_size;<br>
$this->myde_i = $this->myde_page - $show_pages;<br>
$this->myde_en = $this->myde_page $show_pages;<br>
if ($this->myde_i
$this->myde_en = $this->myde_en (1 - $this->myde_i);<br>
$this->myde_i = 1;<br>
}<br> if ($this->myde_en > $this->myde_page_count) {<br>
$this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count);<br>
$this->myde_en = $this->myde_page_count;<br>
}<br>
if ($this->myde_i
$this->myde_i = 1;<br>
}<br>
<br>
//检测是否为数字<br>
私有函数数字($num){<br>
if (strlen($num)) {<br>
if (!preg_match("/^[0-9] $/", $num)) {<br>
$num = 1;<br>
} 另外 {<br>
$num = substr($num, 0, 11);<br>
}<br>
} 另外 {<br>
$num = 1;<br>
}<br>
返回 $num;<br>
}<br>
<br>
//地址替换<br>
私有函数 page_replace($page) {<br>
return str_replace("{page}", $page, $this->myde_url);<br>
}<br>
<br>
//首页<br>
私有函数 myde_home() {<br>
if ($this->myde_page != 1) {<br>
返回“<a href="%E2%80%9D%E3%80%82%C2%A0%24this->page_replace(1)%E3%80%82%C2%A0%22">首页</a>";<br>
} 另外 {<br>
return "<p>首页</p>";<br>
}<br>
}<br>
<br>
//上一页<br>
私有函数 myde_prev() {<br>
if ($this->myde_page != 1) {<br>
返回“<a href="%E2%80%9D%E3%80%82%C2%A0%24this->page_replace(%24this->myde_page%20-%201)%E3%80%82%C2%A0%22">上一页</a>";<br>
} 另外 {<br>
return "<p>上一页</p>";<br>
}<br>
}<br>
<br>
//下一页<br>
私有函数 myde_next() {<br>
if ($this->myde_page != $this->myde_page_count) {<br>
返回“<a href="%E2%80%9D%E3%80%82%C2%A0%24this->page_replace(%24this->myde_page%C2%A0%C2%A01)%C2%A0%E3%80%82%C2%A0%22">下一页</a>";<br>
} 其他 {<br>
返回"<p>下一页</p>";<br>
}<br>
}<br>
<br>
//尾页<br>
私有函数 myde_last() {<br> if ($this->myde_page != $this->myde_page_count) {<br>
返回“<a href="%E2%80%9D%E3%80%82%C2%A0%24this->page_replace(%24this->myde_page_count)%E3%80%82%C2%A0%22">尾页</a>";<br>
} 其他 {<br>
return "<p>尾页</p>";<br>
}<br>
}<br>
<br>
// 输出<br>
公共函数 myde_write($id = 'page') {<br>
$str = "<div>”;<br>
$str.=$this->myde_home();<br>
$str.=$this->myde_prev();<br>
如果($this->myde_i>1){<br>
$str.="<p>...</p>";<br>
}<br>
for ($i = $this->myde_i; $i myde_en; $i ) {<br>
if ($i == $this->myde_page) {<br>
$str.="<a href="%22%E3%80%82%C2%A0%24this->page_replace(%24i)%E3%80%82%C2%A0%E2%80%9C">$i</a>";<br>
} 其他 {<br>
$str.="<a href="%22%E3%80%82%C2%A0%24this->page_replace(%24i)%E3%80%82%C2%A0%E2%80%9C">$i</a>";<br>
}<br>
}<br>
if ($this->myde_en myde_page_count) {<br>
$str.="<p>...</p>";<br>
}<br>
$str.=$this->myde_next();<br>
$str.=$this->myde_last();<br>
$str.="<p>共<b>" 。 $this->myde_page_count .<br>
“</b>页<b>” 。 $this->myde_total。 "</b>条数据</p>";<br>
$str.="</div>";<br>
返回 $str;<br>
}<br>
<br>
}<br>
<br>
?>
分页演示地址:http://www.sucaihuo.com/php/223.html
PHP简单漂亮的分页类.zip ( 3.79 KB 下载:453次 )
AD:真正免费,域名虚机企业邮箱=0元