php分頁類代碼
1001, 'gid'=>2008)); * * 輸出: [上一頁] 1<< [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] >>10 [下一頁] */public static function split1($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){if ($allItemTotal == 0) return "";//頁面名稱if ($pageName==''){$url = $_SERVER['PHP_SELF']."?page=";} else {$url = $pageName."?page=";}//參數$urlParamStr = "";foreach ($getParamList as $key => $val) {$urlParamStr .= "&". $key ."=". $val;}//計算總頁數$pagesNum = ceil($allItemTotal/$pageSize);//第一頁顯示$firstPage = ($currPageNum <= 1) ? $currPageNum ."<<" : "1<<";//最後一頁顯示$lastPage = ($currPageNum >= $pagesNum)? ">>". $currPageNum : ">>". $pagesNum ."";//上一頁顯示$prePage = ($currPageNum <= 1) ? "上頁" : "[上一頁]";//下一頁顯示$nextPage = ($currPageNum >= $pagesNum) ? "下頁" : "[下一頁]";//按頁顯示$listNums = "";for ($i=($currPageNum-4); $i<($currPageNum+9); $i++) {if ($i < 1 || $i > $pagesNum) continue;if ($i == $currPageNum) $listNums.= "[".$i."] ";else $listNums.= " [". $i ."] ";}$returnUrl = $prePage ." ". $firstPage ." ". $listNums ." ". $lastPage ." ". $nextPage;return $returnUrl;}/** * 分頁顯示樣式二 * * @param int $allItemTotal 所有記錄數量 * @param int $currPageNum 當前頁數量 * @param int $pageSize 每頁需要顯示記錄的數量 * @param string $pageName 當前頁面的地址, 如果為空白則由系統自動擷取,預設為空白 * @param array $getParamList 頁面中需要傳遞的URL參數數組, 數組中key代表變數民,value代表變數值 * @return string 返回最後解析出分頁HTML代碼, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'=>1, 'name'=>'user')); * * 輸出:上一頁 1 2 3 4 5 下一頁 [2] [GO] */public static function split2($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){if ($allItemTotal == 0) return "";//頁面名稱if ($pageName==''){$url = $_SERVER['PHP_SELF']."?page=";} else {$url = $pageName."?page=";}//參數$urlParamStr = "";foreach ($getParamList as $key => $val) {$urlParamStr .= "&". $key ."=". $val;}//計算總頁數$pagesNum = ceil($allItemTotal/$pageSize);//上一頁顯示$prePage = ($currPageNum <= 1) ? "上一頁" : "上一頁";//下一頁顯示$nextPage = ($currPageNum >= $pagesNum) ? "下一頁" : "下一頁";//按頁顯示$listNums = "";for ($i=($currPageNum-4); $i<($currPageNum+9); $i++) {if ($i < 1 || $i > $pagesNum) continue;if ($i == $currPageNum) $listNums.= " ".$i." ";else $listNums.= " ". $i ." ";}$returnUrl = $prePage ." ". $listNums ." ". $nextPage;$gotoForm = ' ';return $returnUrl . $gotoForm;}/** * 分頁顯示樣式三 * * @param int $allItemTotal 所有記錄數量 * @param int $currPageNum 當前頁數量 * @param int $pageSize 每頁需要顯示記錄的數量 * @param string $pageName 當前頁面的地址, 如果為空白則由系統自動擷取,預設為空白 * @param array $getParamList 頁面中需要傳遞的URL參數數組, 數組中key代表變數民,value代表變數值 * @return string 返回最後解析出分頁HTML代碼, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'=>1, 'name'=>'user')); * * 輸出:上一頁 下一頁 */public static function split3($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){if ($allItemTotal == 0) return "";//頁面名稱if ($pageName==''){$url = $_SERVER['PHP_SELF']."?page=";} else {$url = $pageName."?page=";}//參數$urlParamStr = "";foreach ($getParamList as $key => $val) {$urlParamStr .= "&". $key ."=". $val;}//計算總頁數$pagesNum = ceil($allItemTotal/$pageSize);//上一頁顯示$prePage = ($currPageNum <= 1) ? "上一頁" : "上一頁";//下一頁顯示$nextPage = ($currPageNum >= $pagesNum) ? "下一頁" : "下一頁";$returnUrl = $prePage ." ". $nextPage;return $returnUrl;} /** * 分頁顯示4 * * @param int $allItemTotal 所有記錄數量 * @param int $currPageNum 當前頁數量 * @param int $pageSize 每頁需要顯示記錄的數量 * @param string $pageName 當前頁面的地址, 如果為空白則由系統自動擷取,預設為空白 * @param array $getParamList 頁面中需要傳遞的URL參數數組, 數組中key代表變數民,value代表變數值 * @return string 返回最後解析出分頁HTML代碼, 可以直接使用 * @example * echo pageStyle1(50, 2, 10, 's.php', array('id'=>1, 'name'=>'user')); * * 輸出:第2/50頁 上一頁 1 2 3 4 5 下一頁 跳到 [ ] 頁 [GO] */ public static function split4($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ""; //頁面名稱 if ($pageName==''){ $url = $_SERVER['PHP_SELF']."?page=";$formUrl = $_SERVER['PHP_SELF']."?"; } else { $url = $pageName."?page=";$formUrl = $pageName."?"; } //參數 $urlParamStr = ""; foreach ($getParamList as $key => $val) { $urlParamStr .= "&". $key ."=". $val; }$formUrl .= $urlParamStr ."&page="; //計算總頁數 $pagesNum = ceil($allItemTotal/$pageSize); //上一頁顯示 $prePage = ($currPageNum <= 1) ? "上一頁" : "上一頁"; //下一頁顯示 $nextPage = ($currPageNum >= $pagesNum) ? "下一頁" : "下一頁"; //按頁顯示 $listNums = "\n"; for ($i=1; $i<=$pagesNum; $i++) { if ($i < 1 || $i > $pagesNum) continue; if ($i == $currPageNum) $listNums .= "{$i}\n"; else $listNums .= "{$i}\n"; } $listNums .= "\n"; $returnUrl = $prePage .' '. $nextPage . ' 共有'.$pagesNum.'頁 跳到 '.$listNums ." 頁 "; $script =<<1, 'name'=>'user')); * * 輸出:第2/50頁 上一頁 1 2 3 4 5 下一頁 跳到 [ ] 頁 [GO] */ public static function split5($allItemTotal, $currPageNum, $pageSize, $pageName='', $getParamList = array()){ if ($allItemTotal == 0) return ""; //頁面名稱 if ($pageName==''){ $url = $_SERVER['PHP_SELF']."?page=";$formUrl = $_SERVER['PHP_SELF']."?"; } else { $url = $pageName."?page=";$formUrl = $pageName."?"; } //參數 $urlParamStr = ""; foreach ($getParamList as $key => $val) { $urlParamStr .= "&". $key ."=". $val; }$formUrl .= $urlParamStr ."&page="; //計算總頁數 $pagesNum = ceil($allItemTotal/$pageSize); //上一頁顯示 $prePage = ($currPageNum <= 1) ? "上一頁" : "上一頁"; //下一頁顯示 $nextPage = ($currPageNum >= $pagesNum) ? "下一頁" : "下一頁"; //按頁顯示 $listNums = ""; for ($i=($currPageNum-1); $i<($currPageNum+4); $i++) { if ($i < 1 || $i > $pagesNum) continue; if ($i == $currPageNum) $listNums.= " ".$i.""; else $listNums.= " ". $i .""; } $returnUrl = '第'.$currPageNum.'/'.$pagesNum.'頁 '. $prePage ." ". $listNums ." ". $nextPage; $gotoForm = ' 跳到 頁 '; return $returnUrl . $gotoForm; }}/*例子:$allItemTotal = 1000;$currPageNum = isset($_GET['page']) ? $_GET['page'] : 1;$pageSize = 5;$pageName='';$getParamList = array('classid'=>44);$pagination = new Pagination();echo $pagination->split1($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList)."
";echo $pagination->split2($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList)."
";echo $pagination->split3($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList)."
";echo $pagination->split4($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList)."
";echo $pagination->split5($allItemTotal, $currPageNum, $pageSize, $pageName, $getParamList)."
";*/?>