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 zlib压缩和解压缩swf文件的代码
Dec 30 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
PHP也能干大事 随机函数
Apr 14 PHP
php curl中gzip的压缩性能测试实例分析
Nov 08 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
PHP中ajax无刷新上传图片与图片下载功能
Feb 21 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
Mar 16 PHP
php readfile下载大文件失败的解决方法
May 22 PHP
详解PHP中curl_multi并发的实现
Jun 08 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
php学习笔记之 函数声明(二)
2011/06/09 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
解决vue组件销毁之后计时器继续执行的问题
2020/07/21 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python制作最美应用的爬虫
2015/10/28 Python
Python入门教程之运算符与控制流
2016/08/17 Python
解决tensorboard多个events文件显示紊乱的问题
2020/02/15 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
佳能德国网上商店:Canon德国
2017/03/18 全球购物
医学院毕业生自荐信范文
2014/03/06 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
苏州园林导游词
2015/02/03 职场文书
开票员岗位职责
2015/02/12 职场文书
开学典礼观后感
2015/06/15 职场文书
给校长的建议书范文
2015/09/14 职场文书
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript