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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
桌面中心(一)创建数据库
Oct 09 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
PHP 生成的XML以FLASH获取为乱码终极解决
Aug 07 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
linux使用crontab实现PHP执行计划定时任务
May 10 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
Sep 06 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
Yii2框架实现注册和登录教程
Sep 30 PHP
Yii2设置默认控制器的两种方法
May 19 PHP
php变量与JS变量实现不通过跳转直接交互的方法
Aug 25 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
玩转图像函数库―常见图形操作
2006/09/03 PHP
php部分常见问题总结
2008/03/27 PHP
php文件上传类完整实例
2016/05/14 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Python set集合类型操作总结
2014/11/07 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
使用python生成目录树
2018/03/29 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
20行python代码实现人脸识别
2019/05/05 Python
Django框架验证码用法实例分析
2019/05/10 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)
2020/02/07 Python
python实现连连看游戏
2020/02/14 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
如何利用cmp命令比较文件
2016/04/11 面试题
跑操口号
2014/06/12 职场文书
个人总结与自我评价
2015/02/14 职场文书
大国崛起日本观后感
2015/06/02 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python