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.MVC的模板标签系统(三)
Sep 05 PHP
如何使用PHP中的字符串函数
Oct 09 PHP
Apache设置虚拟WEB
Oct 09 PHP
PHP防注入安全代码
Apr 09 PHP
PHP生成HTML静态页面实例代码
Aug 31 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
thinkPHP实现签到功能的方法
Mar 15 PHP
php支付宝APP支付功能
Jul 29 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
Oct 24 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 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输出Excel文件类
2010/02/08 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
js实现点击展开隐藏效果(实例代码)
2018/09/28 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
django站点管理详解
2017/12/12 Python
用python实现百度翻译的示例代码
2018/03/09 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
Python读写zip压缩文件的方法
2018/08/29 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
python为什么要安装到c盘
2020/07/20 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
逃课上网检讨书
2014/02/20 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
中秋晚会策划方案
2014/06/12 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
创业计划书之餐饮
2019/09/02 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
python之json文件转xml文件案例讲解
2021/08/07 Python
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android