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 file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
PHP设计模式之装饰者模式
Feb 29 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
PHP使用PHPMailer发送邮件的简单使用方法
Nov 12 PHP
smarty表格换行实例
Dec 15 PHP
php对文件进行hash运算的方法
Apr 03 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
Apr 20 PHP
PHP实现数据四舍五入的方法小结【4种方法】
Mar 27 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 PHP
详解PHP中curl_multi并发的实现
Jun 08 PHP
详解php反序列化
Jun 10 PHP
Laravel中获取IP的真实地理位置
Apr 01 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
基于PHP实现的多元线性回归模拟曲线算法
2018/01/30 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
js判断checkbox是否选中个数的方法(超简单)
2016/08/19 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
python抓取网页中的图片示例
2014/02/28 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
python读取ini配置文件过程示范
2019/12/23 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
结婚邀请函范文
2014/01/14 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
工程售后服务方案
2014/06/08 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python