php簡單分頁類實(shí)現(xiàn)方法

字號(hào):


    這篇文章主要介紹了php簡單分頁類實(shí)現(xiàn)方法,實(shí)例分析了php分頁類的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    本文實(shí)例講述了php簡單分頁類實(shí)現(xiàn)方法。分享給大家供大家參考。具體如下:
    代碼如下:
    class PageModel {
    /**
    * 獲取分頁數(shù)組
    * @param unknown $page 當(dāng)前頁面數(shù)
    * @param unknown $goodsCount 商品總數(shù)
    * @param unknown $pageLength 每個(gè)頁面展示頁面數(shù)
    */
    public static function getPageArr($page, $goodsCount, $pageCountLength, $pageLength) {
    //頁面總數(shù)
    $allPageCount = ceil($goodsCount / $pageLength);
    //如果頁面總是比長度短,設(shè)定頁面長度為頁面總數(shù)
    if ($allPageCount <= $pageCountLength) {
    $allPageCount = ceil($goodsCount / $pageLength);
    }
    //總頁面數(shù)一頁展示完
    if ($allPageCount <= $pageCountLength) {
    for ($i = 0; $i < $allPageCount; $i ++) {
    $arr[] = array('page' => $i + 1);
    }
    return $arr;
    }
    //前后的長度
    $halfLength = floor($pageCountLength / 2);
    //因?yàn)樘?,所以放原來位置,左?BR>    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;
    }
    //中間的數(shù),把中間的取出來
    for ($i = -$halfLength; $i < $pageCountLength - $halfLength; $i ++) {
    $arr[] = array('page' => $page + $i);
    }
    return $arr;
    }
    }
    希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。