/** * 產生頁碼列表 * @param int $element_total_count 元素總數 * @param int $current_page 當前頁 * @param int $per_page_elem_count 每頁元素數 * @param int $show_page_num 列表顯示的頁碼數 * @param string $up_down_class 上下翻頁樣式 * @param string $num_class 當前頁頁碼數字樣式 * @param string $href 頁面連結 * @param string $page_symbol 傳遞頁碼數的連結參數 * @return string */public static function getPageListLink($element_total_count,$current_page=1,$per_page_elem_count=10,$show_page_num=10,$up_down_class='',$num_class='',$href='',$page_symbol='p'){if(empty($href)) {//自動取得剔除頁碼參數的頁面連結$page_name = basename($_SERVER['PHP_SELF']);$params = $_SERVER['QUERY_STRING'];$params_str = '';if(!empty($params)) {$params = str_replace('&', '&', $params);$params_array = explode('&', $params);foreach($params_array as $param) {if(!empty($param)) {$index = strpos($param, '=');if($index) {$key = substr($param, 0, $index);if($key && $key != $page_symbol)$params_str .= $param . '&';}}}}if(!empty($params_str))$href = $page_name . '?' . $params_str;else$href = $page_name;$href = rtrim($href,'&');}$prefix = strpos($href,"?") ? "&" : "?";$prefix .= $page_symbol;$page_total_count = ceil($element_total_count/$per_page_elem_count);if(intval($element_total_count)< 1 || !isset($element_total_count)) {return '';}if($element_total_count <= $per_page_elem_count)return '';if($current_page>$page_total_count)$current_page = 1;if(strpos($href,"#")) {$label = substr($href,strpos($href,"#"));$href = substr($href,0,strpos($href,"#"));}/* 產生頁碼 */if($current_page > ceil($show_page_num/2)) {$start = $current_page - ceil($show_page_num/2);$end = (($current_page+ceil($show_page_num/2))<$page_total_count) ?$current_page+ceil($show_page_num/2)-1 : $page_total_count;} else {$start = 1;$end = ($show_page_num>$page_total_count) ? $page_total_count : $show_page_num;}if(!empty($num_class))$num_class_str = ' class="'.$num_class.'"';else$num_class_str = '';$page_num_string = '';for($i=$start;$i<=$end;$i++) {if(intval($i) == intval($current_page))$page_num_string .= '<a'.$num_class_str.'>'.$i.'</a>';else$page_num_string .= '<a href="'.$href.$prefix.'='.$i.$label.'">'.$i.'</a>';}/* 上下翻頁 */$prev_page = (intval($current_page-1)>0)?intval($current_page-1):0;$next_page = (intval($current_page)<$page_total_count) ? intval($current_page+1) : 0;if(!empty($up_down_class))$up_down_class_str = ' class="'.$up_down_class.'"';else$up_down_class_str = '';$page_up_string = '';if(intval($prev_page) > 0)$page_up_string = '<a href="'.$href.$prefix.'='.$prev_page.$label.'"'.$up_down_class_str.'>上一頁</a>';else$page_up_string = '<a'.$up_down_class_str.'>上一頁</a>';$page_down_string = '';if(intval($next_page) > 0)$page_down_string .= '<a href="'.$href.$prefix.'='.$next_page.$label.'"'.$up_down_class_str.'>下一頁</a>';else$page_down_string .= '<a'.$up_down_class_str.'>下一頁</a>';return $page_up_string . $page_num_string . $page_down_string;}