欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php简单分页类实现方法

程序员文章站 2022-10-19 20:50:43
本文实例讲述了php简单分页类实现方法。分享给大家供大家参考。具体如下: 复制代码 代码如下:class pagemodel {    ...

本文实例讲述了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程序设计有所帮助。