分页对于有效管理大型数据集至关重要,它允许用户在更小的、可管理的页面中浏览数据。 MySQL 提供了两个关键字 LIMIT 和 OFFSET 来实现分页。
提供的代码使用每页 4 个项目的固定限制,适用于预定的数据库大小。然而,我们的目标是创建动态分页,而无需硬编码页面偏移。
要创建动态分页,我们需要:
要确定是否应显示“下一页”链接,我们需要知道总页数:
使用当前页码($page)和总页数($page_count),您可以动态生成分页链接。例如,循环可以遍历页面并为每个页面创建链接。当前页面将显示为文本,而其他页面将显示为链接。
// Get the current page number from the URL $page = 1; if (isset($_GET['page'])) { $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT); if ($page === false) { $page = 1; } } // Set the number of items to display per page $items_per_page = 4; // Build the query $offset = ($page - 1) * $items_per_page; $sql = "SELECT * FROM menuitem LIMIT $offset, $items_per_page"; // Execute the query and fetch the results // Calculate the total number of rows $sql_count = "SELECT COUNT(*) AS row_count FROM menuitem"; $result_count = mysqli_query($con, $sql_count); $row_count = mysqli_num_rows($result_count); $page_count = (int)ceil($row_count / $items_per_page); // Check if the requested page is in range if ($page > $page_count) { // Display an error or set the page to 1 } // Later, when outputting the page, you can use $page and $page_count to generate pagination links
以上是如何使用LIMIT和OFFSET在MySQL中实现动态分页?的详细内容。更多信息请关注PHP中文网其他相关文章!