[英]PDO pagination query not executed correctly?
我目前正在嘗試進行一些分頁工作,但沒有成功。
我正在執行的第一個查詢是獲取所有需要的數據:因此第一個結果應該在第一頁上,第二個結果應該在第二頁上,依此類推……但是我總是得到第一個結果。 盡管我將查詢復制到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) . '">»</a></li>';
} else {
$next_page = '<li class="disabled">»</li>';
}
if ($page > 1) {
$previous_page = '<li><a href="index.php?cat=users&page=' . ($page - 1) . '">«</a></li>';
} else {
$previous_page = '<li class="disabled">«</li>';
}
我究竟做錯了什么?
您沒有使用$page
做任何事情。 $start
在查詢中始終為0。
您將需要定義每頁要多少條記錄,然后將其乘以$ page -1,例如
$start = ($page - 1) * $records_per_page;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.