比如 第一页是9条,其他页是12条的情况
function index() {
$p = intval($_GET['p']);
$t = intval($_GET['t']);
//第一页比其他页 少3条,所以是 -3
$a = $this->mkpage($t, $p, 12, -3);
print_r($a);
}
/**
* 分页信息
* @param unknown_type $total 总数
* @param unknown_type $page 当前页
* @param unknown_type $limit 每页条数
* @param unknown_type $poor 第一页与其他页差值
* @return string
*/
public function mkpage($total, $page, $limit , $poor = 0) {
if(!$page) {
$page = 1;
}
$olimit = $limit;
if($page == 1) {
$limit = $limit + $poor;
}
$star = max(($page-1)*$limit+$poor, 0);
$return['page'] = $page; //当前页
$return['total'] = $total; //总数
$return['pageCount'] = ceil(($total-$poor)/$olimit); //总页数
$return['limit'] = "$star, $limit"; //limit字符串
return $return;
}