gpt4 book ai didi

php - PDO 分页查询未正确执行?

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:01 27 4
gpt4 key购买 nike

我目前正在尝试做一些分页工作,但没有成功。

我正在执行的第一个查询是获取所有需要的数据:所以第一个结果应该在第一页上,第二个结果应该在第二页上,依此类推……但我总是得到第一个结果。虽然我将查询复制到 phpmyadmin 中以手动设置查询,但它显示了正确的结果。

这是发生一切的代码。我不知道为什么它不起作用。

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$limit = 1;
$start = 0;

$query = $db->prepare("SELECT * FROM `users` LIMIT $limit OFFSET $start");
$query->execute();

$result = $query->fetchAll(PDO::FETCH_OBJ);
$count = count($result);

$query2 = $db->prepare("SELECT * FROM `users`");
$query2->execute();
$result2 = $query2->fetchALL(PDO::FETCH_OBJ);
$count2 = count($result2);

// Pagination

$total = ceil($count2 / $limit);

if ($page > 1) {
$start = ($page - 1) * $limit;
}

if ($page != $total) {

$next_page = '<li><a href="index.php?cat=users&page=' . ($page + 1) . '">&raquo;</a></li>';

} else {

$next_page = '<li class="disabled">&raquo;</li>';

}

if ($page > 1) {

$previous_page = '<li><a href="index.php?cat=users&page=' . ($page - 1) . '">&laquo;</a></li>';

} else {

$previous_page = '<li class="disabled">&laquo;</li>';

}

我做错了什么?

最佳答案

您没有对 $page 做任何事情。 $start 在查询中始终为 0。

您需要定义每页需要多少条记录,然后将其乘以 $page -1,例如

$start = ($page - 1) * $records_per_page;

关于php - PDO 分页查询未正确执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098008/

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