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 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
一个捕获函数输出的函数
Feb 14 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
Aug 01 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
关于PHP堆栈与列队的学习
Jun 21 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
Laravel框架路由设置与使用示例
Jun 12 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
php TP5框架生成二维码链接
Apr 01 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 heredoc和phpwind的模板技术使用方法小结
2008/03/28 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
PHP PDOStatement::errorCode讲解
2019/01/31 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
js实现滚动条滚动到页面底部继续加载
2015/12/19 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
Vue中常用rules校验规则(实例代码)
2019/11/14 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
2018/06/14 Python
python中plot实现即时数据动态显示方法
2018/06/22 Python
python中的句柄操作的方法示例
2019/06/20 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
如何使用python写截屏小工具
2020/09/29 Python
通过实例解析python subprocess模块原理及用法
2020/10/10 Python
十岁生日家长答谢词
2014/01/17 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
javascript对象3个属性特征
2021/11/17 Javascript
在CSS中使用when/else的方法
2022/01/18 HTML / CSS