Home >php教程 >php手册 >PHP简单漂亮的分页类

PHP简单漂亮的分页类

WBOY
WBOYOriginal
2016-06-07 11:38:171013browse

本文介绍一款原生的PHP分页类,分页样式有点类似bootstrap。
PHP简单漂亮的分页类<?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>";<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元

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn