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新手上路(十一)
Oct 09 PHP
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
php生成zip压缩文件的方法详解
Jun 09 PHP
关于svn冲突的解决方法
Jun 21 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
php发送邮件的问题详解
Jun 22 PHP
php实现Mysql简易操作类
Oct 11 PHP
PHP基于GD库的图像处理方法小结
Sep 27 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 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 socket方式提交的post详解
2008/07/19 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
Javascript开发包大全整理
2006/12/22 Javascript
JsDom 编程小结
2011/08/09 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python简单实现控制电脑的方法
2018/01/22 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
基于python中theano库的线性回归
2018/08/31 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
利用python在excel中画图的实现方法
2020/03/17 Python
python 追踪except信息方式
2020/04/25 Python
PyTorch在Windows环境搭建的方法步骤
2020/05/12 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
复古服装:RetroStage
2019/05/10 全球购物
小学毕业家长寄语
2014/01/19 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
期中考试复习计划
2015/01/19 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
七一活动主持词
2015/06/29 职场文书
门卫管理制度范本
2015/08/05 职场文书
四年级语文教学反思
2016/03/03 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang
MySQL七种JOIN类型小结
2021/10/24 MySQL