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令牌 Token改进版
Jul 18 PHP
用C/C++扩展你的PHP 为你的php增加功能
Sep 06 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
50个PHP程序性能优化的方法
Jun 02 PHP
PHP文件读写操作相关函数总结
Nov 18 PHP
yii实现图片上传及缩略图生成的方法
Dec 04 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
php使用pear_smtp发送邮件
Apr 15 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
Jun 01 PHP
Laravel如何创建服务器提供者实例代码
Apr 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
深入php 正则表达式的学习探讨
2013/06/06 PHP
浅谈php扩展imagick
2014/06/02 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
Javascript中正则表达式的全局匹配模式分析
2011/04/26 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
ReactJS实现表单的单选多选和反选的示例
2017/10/13 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
web.py获取上传文件名的正确方法
2014/08/26 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
使用keras根据层名称来初始化网络
2020/05/21 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
电大学习个人自我评价范文
2013/10/04 职场文书
工程项目经理岗位职责
2013/12/15 职场文书
中学家长会邀请函
2014/01/17 职场文书
工程安全员岗位职责
2014/03/09 职场文书
大学生就业意向书范文
2014/04/01 职场文书
记账会计岗位职责
2014/06/16 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python