/**
* 分页处理函数
* @param int $totalInfo 数据总数
* @param int $currentPage 当前页码数
* @param int $perPageInfo 每页显示条数
* @param integer $showPage 默认显示页码数
* @return string 返回需要输出的分页列表
*/
function pagination($totalInfo, $currentPage, $pageSize, $showPage=6) {
$pageStr = "";
// 当总信息数量大于每页显示数量时候
if ($totalInfo > $pageSize) {
// 总分页数
$totalPages = ceil($totalInfo / $pageSize);
// 对当前也进行容错处理, 如果当前也大于总页数, 当前页就是总也数
$currentPage = $currentPage > $totalPages ? $totalPages : $currentPage;
// 默认显示6个分页选项
$from = max(1,intval($currentPage - $showPage/2));
$to = $from + $showPage - 1;
if ($to > $totalPages) {
$to = $totalPages;
$from = max(1, $to - $showPage + 1);
}
$pageStr .= '<div class="page-nav">';
$pageStr .= '<ul>';
// 当当前页大于1的时候, 才会显示上一页和首页
if($currentPage > 1) {
$pageStr .= '<li><a href="1">首页</a></li>';
$pageStr .= "<li><a href='".($currentPage - 1)."'>上一页</a></li>";
}
if ($from > 1) {
$pageStr .= '<li>...</li>';
}
for($i=$from; $i<=$to; $i++) {
if ($i != $currentPage) {
$pageStr .= "<li><a href='".$i."'>{$i}</a></li>";
} else {
$pageStr .= "<li><span class='curr-page'>{$i}</span></li>";
}
}
if ($to < $totalPages) {
$pageStr .= '<li>...</li>';
}
// 当当前页小于总页数的时候, 才会显示下一页和尾页
if ($currentPage < $totalPages) {
$pageStr .= "<li><a href='".($currentPage + 1)."'>下一页</a></li>";
$pageStr .= "<li><a href='".$totalPages."'>尾页</a></li>";
}
$pageStr .= '</div>';
$pageStr .= '</ul>';
}
return $pageStr;
}
PHP 分页函数
最新推荐文章于 2024-09-22 22:46:51 发布