/* * 分页代码输出 * $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; } }
关键字词: