首页 > 开发 > PHP > 正文

php简单分页类实现方法

2024-05-04 23:31:39
字体:
来源:转载
供稿:网友
这篇文章主要介绍了php简单分页类实现方法,实例分析了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程序设计有所帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表