<?php
/**
*@param int $pageSum 总页
*@param int $page 当前页
*@param int $num_links 当前页码的前面和后面的“数字”链接的数量
*@return array $pagination
**/
function paginator($pageSum,$page,$num_links=4){
$plist = [];
$pageList = [];
$prev = [];
$next = [];
for ($i=1; $i <= $pageSum; $i++) {
if ($i == $page) {
$isCurrent = true;
} else {
$isCurrent = false;
}
$pageArr = [
'page' => $i,
'url' => $_SERVER['PHP_SELF']."?page={$i}",
'isCurrent' => $isCurrent
];
array_push($plist,$pageArr);
}
if ($page > 1) {
$p = $page - 1;
$prev = [
'page' => $p,
'url' => $_SERVER['PHP_SELF']."?page={$p}",
'isCurrent' => false
];
}
if ($page < $pageSum) {
$p = $page + 1;
$next = [
'page' => $p,
'url' => $_SERVER['PHP_SELF']."?page={$p}",
'isCurrent' => false
];
}
$pageStart = $page - $num_links;
$pageEnd = $page + $num_links;
for ($i = $pageStart; $i <= $pageEnd; $i++) {
if ($i < 1 || $i > $pageSum) {
continue;
}
array_push($pageList,$plist[$i-1]);
}
$pagination = [
'total' => $pageSum,
'pageList' => $pageList,
'prev' => $prev,
'next' => $next
];
return $pagination;
}
分页方法
最新推荐文章于 2023-04-25 00:56:22 发布