簡體   English   中英

PDO分頁查詢未正確執行?

[英]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) . '">&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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM