/*
* 分页代码输出
* $count总数
* $page当前页数 1开始
*/
function show_page($count, $page, $page_size = 10) {
$page_count = ceil($count / $page_size); //计算得出总页数
$init = 1;
$page_len = 7;
$max_p = $page_count;
$pages = $page_count;
//判断当前页码
$page = (empty($page) || $page < 0) ? 1 : $page;
//获取当前页url
$url = $_SERVER['REQUEST_URI'];
//去掉url中原先的page参数以便加入新的page参数
$parsedurl = parse_url($url);
$url_query = isset($parsedurl['query']) ? $parsedurl['query'] : '';
if (!empty($url_query)) {
$url_query = str_replace("&page=$page", '', $url_query);
$url = str_replace($parsedurl['query'], $url_query, $url);
if ($url_query != '') {
$url .= '&';
}
} else {
$url .= '?';
}
//分页功能代码
$page_len = ($page_len % 2) ? $page_len : $page_len + 1; //页码个数
$pageoffset = ($page_len - 1) / 2; //页码个数左右偏移量
$navs = '';
if ($pages != 0) {
if ($page != 1) {
$navs.="<li ><a href=\"" . $url . "page=1\" aria-label=\"Previous\"><span aria-hidden=\"true\">首页</span></a></li>"; //第一页
$navs.="<li><a href=\"" . $url . "page=" . ($page - 1) . "\">上一页</a></li>"; //上一页
} else {
$navs .= "<li ><a href=\"javascript:\" aria-label=\"Previous\"><span aria-hidden=\"true\">首页</span></a></li>";
$navs .= "<li ><a href=\"javascript:\" aria-label=\"Previous\"><span aria-hidden=\"true\">上页</span></a></li>";
}
if ($pages > $page_len) {
//如果当前页小于等于左偏移
if ($page <= $pageoffset) {
$init = 1;
$max_p = $page_len;
} else { //如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if ($page + $pageoffset >= $pages + 1) {
$init = $pages - $page_len + 1;
} else {
//左右偏移都存在时的计算
$init = $page - $pageoffset;
$max_p = $page + $pageoffset;
}
}
}
for ($i = $init; $i <= $max_p; $i++) {
if ($i == $page) {
$navs.="<li class=\"active\"><a href=\"javascript:\">$i</a></li>";
} else {
$navs.=" <li><a href=\"" . $url . "page=" . $i . "\">$i</a></li>";
}
}
if ($page != $pages) {
$navs.="<li><a href=\"" . $url . "page=" . ($page + 1) . "\">下页</a></li>"; //下一页
$navs.="<li><a href=\"" . $url . "page=" . $pages . "\" aria-label=\"Next\">末页</a></li>"; //最后一页
} else {
$navs.="<li><a href=\"javascript:\">下页</a></li>"; //下一页
$navs.="<li><a href=\"javascript:\" aria-label=\"Next\">末页</a></li>"; //最后一页
$navs.="<li><span class=\"pageinfo\">总页数:$page_count</li>"; //最后一页
}
return $navs;
}
}
关键字词:

