php实现分页工具类分享


Posted in PHP onJanuary 09, 2014

代码:

    /**
    * 把中间的看成一个可以滑动的固定长度的尺子
    *
    * 把$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;
    }
   
PHP 相关文章推荐
smarty中先strip_tags过滤html标签后truncate截取文章运用
Oct 25 PHP
php与paypal整合方法
Nov 28 PHP
php GeoIP的使用教程
Mar 09 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
php循环创建目录示例分享(php创建多级目录)
Mar 04 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
Jun 11 PHP
关于php unset对json_encode的影响详解
Nov 14 PHP
PDO实现学生管理系统
Mar 21 PHP
php实现图片压缩处理
Sep 09 PHP
codeigniter框架批量插入数据
Jan 09 #PHP
eaglephp使用微信api接口开发微信框架
Jan 09 #PHP
百度站点地图(百度sitemap)生成方法分享
Jan 09 #PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
Jan 09 #PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 #PHP
PHP修改session_id示例代码
Jan 08 #PHP
让PHP显示Facebook的粉丝数量方法
Jan 08 #PHP
You might like
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
Js基础学习资料
2010/11/23 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
Python 列表list使用介绍
2014/11/30 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
测绘工程本科生求职信
2013/10/10 职场文书
个人生活学习自我评价范文
2013/11/26 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
爷爷追悼会答谢词
2014/01/24 职场文书
群众路线党课主持词
2014/04/01 职场文书
项目合作协议书范本
2014/04/16 职场文书
普通党员对照检查材料
2014/09/24 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
教师党员承诺书2015
2015/01/21 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
详细介绍python操作RabbitMq
2022/04/12 Python
Java 写一个简单的图书管理系统
2022/04/26 Java/Android