php实现分页工具类分享
2015-01-24信息快讯网
本文分享一个php实现的分页工具类,代码内有注释,大家参考使用吧
代码:
/** * 把中间的看成一个可以滑动的固定长度的尺子 * * 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子, * 然后$this->_totalPages就是一个给定长度的木块,尺子在这个 * 木块上滑动。情况两种: * 1. 尺子长度大于木块长度,那么就直接输出所有的页码; * 2. 尺子长度小于木块长度,那么就只用找到输出这个尺子长度页 * 数的起始点――$start, $end; * @Access protected * @Return void * @Exception none */ protected function _getShowPageNumber() { $pageHtml = ''; //找到$start点 if($this->_curPage - 2 > 1) { $start = $this->_curPage - 2; } else { $start = 1; } //找到$end 点 $end = $start + $this->_totalShowPages; if($end >= $this->_totalPages) { $end = $this->_totalPages; $start = $end - $this->_totalShowPages; //保证页面显示的长度为$this->_totalShowPages } if($start != 1) { $pageHtml .= $this->_getPageHtml(1); $preMore = $this->_curPage - $this->_totalShowPages; if($preMore < 1) { $preMore = 1; } $pageHtml .= $this->_getMorePageHtml($preMore); } for($page = $start; $page < $end; $page ++) { $pageHtml .= $this->_getPageHtml($page); } if($end != $this->_totalPages) { $pageHtml .= $this->_getMorePageHtml($end); } $pageHtml .= $this->_getNormalPageHtml($this->_totalPages); return $pageHtml; }
第一种老想法的代码实现:
/** * 一步步的来 * * @desc * * @Access protected * @Return void * @Exception none */ protected function _getShowPageNumberTwo() { if($this->_curPage < $this->_totalShowPages) { for($page = 1; $page < $this->_totalShowPages; $page ++) { $pageHtml .= $this->_getPageHtml($page); } $pageHtml .= $this->_getMorePageHtml($this->_totalShowPages); $pageHtml .= $this->_getNormalPageHtml($this->_totalPages); } else { $pageHtml .= $this->_getNormalPageHtml(1); if($this->_curPage == $this->_totalShowPages) { $pageHtml .= $this->_getMorePageHtml(1); } else { $pageHtml .= $this->_getMorePageHtml($this->_curPage - $this->_totalShowPages); } if($this->_curPage + $this->_totalShowPages >= $this->_totalPages) { for($page = $this->_totalPages - $this->_totalShowPages; $page < = $this->_totalPages; $page ++) { $pageHtml .= $this->_getPageHtml($page); } } else { $start = $this->_curPage - 2; $end = $this->_curPage + $this->_totalShowPages - 2; for($page = $start; $page < $end; $page ++) { $pageHtml .= $this->_getPageHtml($page); } $pageHtml .= $this->_getMorePageHtml($this->_curPage + $this->_totalShowPages - 2); $pageHtml .= $this->_getNormalPageHtml($this->_totalPages); } } return $pageHtml; }
ThinkPHP中I(),U(),$this->post()等函数用法
php中ob_get_length缓冲与获取缓冲长度实例
什么情况下可以不写PHP的闭合标签“?>”
ThinkPHP采用<volist>实现三级循环代码实例
PHP中遇到BOM、<feff>编码导致json_decode函数无法解析问题
php使用GeoIP库实例
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
ThinkPHP2.0读取MSSQL提示Incorrect syntax near the keyword 'AS'的解决方法
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
浅析application/x-www-form-urlencoded和multipart/form-data的区别
ThinkPHP之getField详解
php数组合并array_merge()函数使用注意事项
ThinkPHP的Widget扩展实例
ThinkPHP CURD方法之data方法详解
ThinkPHP CURD方法之page方法详解
ThinkPHP使用心得分享-分页类Page的用法
php权重计算方法代码分享
codeigniter框架批量插入数据
PHP面向对象之旅:深入理解static变量与方法
解决file_get_contents无法请求https连接的方法
PHP PDOStatement:bindParam插入数据错误问题分析
php file_get_contents抓取Gzip网页乱码的三种解决方法
PHP中ob_start函数的使用说明
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
简单实用的.net DataTable导出Execl
php session_start()出错原因分析及解决方法
PHP的构造方法,析构方法和this关键字详细介绍
php MessagePack介绍
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
深入探讨"<br />"和 "\r\n" 两者有什么区别??
PHP中::、->、self、$this几种操作符的区别介绍
仿Aspnetpager的一个PHP分页类代码 附源码下载
PHP 中关于ord($str)>0x80的详细说明