本文介绍一款原生的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>
private function numeric($num) {<br>
if (strlen($num)) {<br>
if (!preg_match("/^[0-9]+$/", $num)) {<br>
$num = 1;<br>
} else {<br>
$num = substr($num, 0, 11);<br>
}<br>
} else {<br>
$num = 1;<br>
}<br>
return $num;<br>
}<br><br>
//地址替换<br>
private function page_replace($page) {<br>
return str_replace("{page}", $page, $this->myde_url);<br>
}<br><br>
//首页<br>
private function myde_home() {<br>
if ($this->myde_page != 1) {<br>
return "<a>page_replace(1) . "' title='首页'>首页</a>";<br>
} else {<br>
return "<p>首页</p>";<br>
}<br>
}<br><br>
//上一页<br>
private function myde_prev() {<br>
if ($this->myde_page != 1) {<br>
return "<a>page_replace($this->myde_page - 1) . "' title='上一页'>上一页</a>";<br>
} else {<br>
return "<p>上一页</p>";<br>
}<br>
}<br><br>
//下一页<br>
private function myde_next() {<br>
if ($this->myde_page != $this->myde_page_count) {<br>
return "<a>page_replace($this->myde_page + 1) . "' title='下一页'>下一页</a>";<br>
} else {<br>
return"<p>下一页</p>";<br>
}<br>
}<br><br>
//尾页<br>
private function myde_last() {<br>
if ($this->myde_page != $this->myde_page_count) {<br>
return "<a>page_replace($this->myde_page_count) . "' title='尾页'>尾页</a>";<br>
} else {<br>
return "<p>尾页</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/js/1000">
<img src="https://img.php.cn/upload/jscode/000/000/001/598a5fec77565480.jpg" alt="6款简洁漂亮的CSS3分页样式代码">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/js/1000">6款简洁漂亮的CSS3分页样式代码</a>
<p>6款简洁漂亮的CSS3分页样式代码</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="6款简洁漂亮的CSS3分页样式代码">
<span>169</span>
</div>
</div>
<a href="/xiazai/js/1000" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="6款简洁漂亮的CSS3分页样式代码">
</a>
</div>
";<br>
}<br>
}<br><br>
//输出<br>
public function myde_write($id = 'page') {<br>
$str = "<div>";<br>
$str.=$this->myde_home();<br>
$str.=$this->myde_prev();<br>
if ($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>page_replace($i) . "' title='第" . $i . "页' class='cur'>$i</a>";<br>
} else {<br>
$str.="<a>page_replace($i) . "' title='第" . $i . "页'>$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>
return $str;<br>
}<br><br>
}<br><br>
?>分页演示地址:http://www.sucaihuo.com/php/223.html
PHP简单漂亮的分页类.zip
( 3.79 KB 下载:453 次 )
AD:真正免费,域名+虚机+企业邮箱=0元
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号