php简单分页类实现方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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 下载文件时自动添加bom头的方法实例

首先弄清楚,什么是bom头?在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte...

推荐十款免费 WordPress 插件

推荐十款免费 WordPress 插件

2015必备wordpress插件列表。为了增强wordpress站点,一些优秀有效的免费wordpress 插件是必不可少的。 WordPress 插件用于提升 wordpress...

解析php addslashes()与addclashes()函数的区别和比较

PHP addcslashes() 函数定义和用法addcslashes() 函数在指定的字符前添加反斜杠。语法addcslashes(string,characters)参数 描述 s...

CentOS安装php v8js教程

CentOS release 5.11 (Final),CentOS release 6.6 (Final) x64测试通过。 gcc版本,glibc版本,libstdc++.so.6版...

浅析php与数据库代码开发规范

1、PHP中对各类变量内容的命名规范  (1)目录命名、文件命名、局部变量命名: 使用英文名词、动词,以下划线作为单词的分隔,所有字母均使用小写 目录:upload、templ...