gpt4 book ai didi

没有SQL的PHP​​动态分页

转载 作者:可可西里 更新时间:2023-11-01 12:44:51 26 4
gpt4 key购买 nike

我有一个脚本可以动态调用和显示目录中的图像,最好的分页方式是什么?我希望能够通过脚本中的变量控制每页显示的图像数量。我正在考虑使用 URL 变量(即 - http://domain.com/page.php?page=1),但我不确定如何去做。

感谢您的帮助。

最佳答案

这是我经常用来做分页的一个函数。希望对您有所帮助。

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
)

有了所有这些数据,您就可以很好地制作分页链接。

关于没有SQL的PHP​​动态分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/207223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com