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读取30天之内的根据算法排序的代码
Apr 06 PHP
php5数字型字符串加解密代码
Apr 24 PHP
PHP 防恶意刷新实现代码
May 16 PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
Mar 07 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
php接口技术实例详解
Dec 07 PHP
PHP连接MySQL进行增、删、改、查操作
Feb 19 PHP
Eclipse PHPEclipse 配置的具体步骤
Aug 08 PHP
PHP实现统计代码行数小工具
Sep 19 PHP
PhpStorm+xdebug+postman调试技巧分享
Sep 15 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
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
2015/11/09 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
深入理解jQuery之事件移除
2016/06/02 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
Python入门之modf()方法的使用
2015/05/15 Python
Python的Django框架可适配的各种数据库介绍
2015/07/15 Python
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
Python 变量类型详解
2018/10/10 Python
Django 多环境配置详解
2019/05/14 Python
python 弧度与角度互转实例
2020/04/15 Python
Python中的流程控制详解
2021/02/18 Python
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
服装公司总经理岗位职责
2013/11/30 职场文书
建筑文秘专业个人求职信范文
2013/12/28 职场文书
银行贷款收入证明
2014/10/17 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
linux目录管理方法介绍
2022/06/01 Servers
oracle delete误删除表数据后如何恢复
2022/06/28 Oracle
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android