/** * @param int $current_page * @param int $total_size * @param int $page_size * @param int $mode * @return string */ public static function get_pages_html($current_page, $total_size, $page_size = 10, $mode = 1) { $get_vars = Lib_Request::get_vars(); $querystr = ''; if (isset($get_vars['page'])) { unset($get_vars['page']); } if (!empty($get_vars)) { foreach ($get_vars as $k => $v) { if (empty($v)) { continue; } $querystr .= $k . "=" . $v . "&"; } } $mode = $mode > 0 ? $mode : 1; $num = $mode * 2 + 1; $current_page = $current_page < 1 ? 1 : $current_page; $current_url = Module_HttpRequest_Router::current_url_path(); $current_url .= "?" . $querystr; $pages_html = ''; $total_pages = ceil($total_size / $page_size); $current_page = $current_page > $total_pages ? $total_pages : $current_page; $pages_html .= '<ul class="pagination"><li><span>总计' . $total_size . '条记录 共' . $total_pages . '页</span></li></ul> '; if ($total_size < $page_size) { return $pages_html; } $pages_html .= '<ul class="pagination">'; // if ($current_page <= 1) { $pages_html .= '<li class="disabled"><span>上一页</span></li>'; } else { $pages_html .= '<li><a href="' . $current_url . 'page=' . ($current_page - 1) . '">上一页</a></li>'; } // if ($total_pages <= $num + 2) { for ($i = 1; $i <= $total_pages; $i++) { $pages_html .= $i == $current_page ? '<li class="active"><span>' . $i . '</span></li>' : '<li><a href="' . $current_url . 'page=' . $i . '">' . $i . '</a></li>'; } } else { $page_start = $current_page - $mode; $page_start = $page_start < 2 ? 2 : $page_start; $pages_html .= $current_page == 1 ? '<li class="active"><span>1</span></li>' : '<li><a href="' . $current_url . 'page=1">1</a></li>'; if ($page_start > 2 && $total_pages > $num) { $pages_html .= '<li><span>...</span></li>'; } $num = $page_start + $num; for ($i = $page_start; $i < $num; $i++) { if ($i > $total_pages) { break; } $pages_html .= $i == $current_page ? '<li class="active"><span>' . $i . '</span></li>' : '<li><a href="' . $current_url . 'page=' . $i . '">' . $i . '</a></li>'; } if ($num < $total_pages) { $pages_html .= '<li><span>...</span></li>'; } if ($num <= $total_pages) { $pages_html .= $current_page == $total_pages ? '<li class="active"><span>' . $total_pages . '</span></li>' : '<li><a href="' . $current_url . 'page=' . $total_pages . '">' . $total_pages . '</a></li>'; } } // if ($current_page >= $total_pages) { $pages_html .= '<li class="disabled"><span>下一页</span></li>'; } else { $pages_html .= '<li><a href="' . $current_url . 'page=' . ($current_page + 1) . '">下一页</a></li>'; } $pages_html .= '</ul>'; return $pages_html; }