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 相关文章推荐
JAVA/JSP学习系列之七
Oct 09 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
必须收藏的php实用代码片段
Feb 02 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 PHP
yii框架数据库关联查询操作示例
Oct 14 PHP
PHP isset()及empty()用法区别详解
Aug 29 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递归复制、移动目录的自定义函数分享
2014/11/18 PHP
PHP使用Pthread实现的多线程操作实例
2015/11/14 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
利用laravel+ajax实现文件上传功能方法示例
2017/08/13 PHP
拖动一个HTML元素
2006/12/22 Javascript
JavaScript 判断浏览器类型及版本
2009/02/21 Javascript
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
Javascript 类型转换方法
2010/10/24 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jQuery实现首页顶部可伸缩广告特效代码
2015/04/15 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python实现对指定输入的字符串逆序输出的6种方法
2018/04/26 Python
Python工厂函数用法实例分析
2018/05/14 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
Python tkinter常用操作代码实例
2020/01/03 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
母亲80寿诞答谢词
2014/01/16 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
湘江北去观后感
2015/06/15 职场文书
电频谱管理的原则是什么
2022/02/18 无线电
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android