php简单分页类实现方法


Posted in PHP onFebruary 26, 2015

本文实例讲述了php简单分页类实现方法。分享给大家供大家参考。具体如下:

class PageModel {  

    /** 

     * 获取分页数组 

     * @param unknown $page 当前页面数 

     * @param unknown $goodsCount 商品总数 

     * @param unknown $pageLength 每个页面展示页面数 

     */  

    public static function getPageArr($page, $goodsCount, $pageCountLength, $pageLength) {  

        //页面总数  

        $allPageCount = ceil($goodsCount / $pageLength);  

       //如果页面总是比长度短,设定页面长度为页面总数  

       if ($allPageCount <= $pageCountLength) {  

           $allPageCount = ceil($goodsCount / $pageLength);  

       }  

        //总页面数一页展示完  

        if ($allPageCount <= $pageCountLength) {  

            for ($i = 0; $i < $allPageCount; $i ++) {  

                $arr[] = array('page' => $i + 1);  

            }  

            return $arr;  

        }  

        //前后的长度  

        $halfLength = floor($pageCountLength / 2);  

        //因为太小,所以放原来位置,左边  

        if ($page <= $halfLength) {  

            $arr = array();  

            for ($i = 0; $i < $pageCountLength; $i ++) {  

                $arr[] = array('page' => $i + 1);  

            }  

            return $arr;  

        }  

        //太大,只取到边缘,超出也只取到边缘  

        if ($page > $allPageCount - floor($pageCountLength / 2)) {  

            for ($i = -$pageCountLength; $i < 0; $i ++) {  

                $arr[] = array('page' => $allPageCount + $i + 1);  

            }  

            return $arr;  

        }  

        //中间的数,把中间的取出来  

        for ($i = -$halfLength; $i < $pageCountLength - $halfLength; $i ++) {  

            $arr[] = array('page' => $page + $i);  

        }

        return $arr;

    }

}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP中for循环语句的几种变型
Nov 26 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
深入PHP异步执行的详解
Jun 03 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
PHP生成压缩文件实例
Feb 07 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP7内核CGI与FastCGI详解
Apr 14 PHP
PHP删除指定目录中的所有目录及文件的方法
Feb 26 #PHP
PHP获取文件相对路径的方法
Feb 26 #PHP
CentOS安装php v8js教程
Feb 26 #PHP
php设计模式之单例模式实例分析
Feb 25 #PHP
PHP实现一维数组转二维数组的方法
Feb 25 #PHP
PHP中字符安全过滤函数使用小结
Feb 25 #PHP
PHP 魔术变量和魔术函数详解
Feb 25 #PHP
You might like
php删除左端与右端空格的方法
2014/11/29 PHP
统计出现最多的字符次数的js代码
2010/12/03 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
JS中常用的输出方式(五种)
2016/06/12 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
javascript操作向表格中动态加载数据
2020/08/27 Javascript
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
python使用在线API查询IP对应的地理位置信息实例
2014/06/01 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
2016/10/12 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
研发工程师的岗位职责
2013/11/18 职场文书
迟到检讨书500字
2014/02/05 职场文书
我爱我校演讲稿
2014/05/21 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
医德医风自我评价
2014/09/19 职场文书
自我查摆剖析材料
2014/10/11 职场文书
会议主持词结束语
2015/07/03 职场文书
教师节感想
2015/08/11 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
Python深度学习之实现卷积神经网络
2021/06/05 Python
python 远程执行命令的详细代码
2022/02/15 Python
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python