动态没有php,没有SQL的PHP​​动态分页

这是我经常用来做分页的功能。希望能帮助到你。

function paginate($page, $total, $per_page) {

if(!is_numeric($page)) { $page = 1; }

if(!is_numeric($per_page)) { $per_page = 10; }

if($page > ceil($total/$per_page)) $page = 1;

if($page == "" || $page == 0) {

$page = 1;

$start = 0;

$end = $per_page;

} else {

$start = ($page * $per_page) - ($per_page);

$end = $per_page;

}

$prev_page = "";

$next_page = "";

$all_pages = array();

$selected = "";

$enabled = false;

if($total > $per_page) {

$enabled = true;

$prev = $page - 1;

$prev_page = ($prev == 0) ? 0 : $prev;

$next = $page + 1;

$total_pages = ceil($total/$per_page);

$next_page = ($next <= $total_pages) ? $next : 0;

for($x=1;$x<=$total_pages;$x++) {

$all_pages[] = $x;

$selected = ($x == $page) ? $x : $selected;

}

}

return array(

"per_page" => $per_page,

"page" => $page,

"prev_page" => $prev_page,

"all_pages" => $all_pages,

"next_page" => $next_page,

"selected" => $selected,

"start" => $start,

"end" => $end,

"enabled" => $enabled

);

}

// ex: we are in page 2, we have 50 items, and we're showing 10 per page

print_r(paginate(2, 50, 10));这将返回:

Array

(

[per_page] => 10

[page] => 2

[prev_page] => 1

[all_pages] => Array

(

[0] => 1

[1] => 2

[2] => 3

[3] => 4

[4] => 5

)

[next_page] => 3

[selected] => 2

[start] => 10

[end] => 10

[enabled] => 1

)有了这些数据,你就可以很好地完成分页链接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值