PHP中的页面分页



拜托,我是PHP新手。我已经建立了一个网络应用程序,其中有许多链接,指向跨越5页以上的页面内容。数据库运行良好,但一旦我填充页面,它们就不能出现在单个页面上,所以我尝试了页面分页。现在的问题是:我的代码只把我丢到一个页面,而不是一个页面的10页链接。我已经在网上查看了可用的解决方案,我的解决方案似乎很奇怪,所以很难让代码发挥作用。

以下是一个片段:

if (isset($_GET['id']) && filter_var($_GET['id'], FILTER_VALIDATE_INT, array('min_range' => 1))) {
// Get the category title:
$sql = 'SELECT category FROM categories WHERE id = ' . $_GET['id'];
$result = $dbc->query($sql); // Use prepared statement instead
if ($result->num_rows != 1) { // Problem!
$page_title = 'Error!';
$page_no = $_GET['id'];
$no_of_records_per_page = 2;
$offset = ($page_no - 1) * $no_of_records_per_page;
// Get the number of total pages
$sql = 'SELECT COUNT(*) FROM pages';
$result = $dbc->query($sql);
$total_rows = $result->fetch_array()[0];
$total_pages = ceil($total_rows / $no_of_records_per_page);
// Get the pages associated with this category:
$query = 'SELECT id, title, description FROM pages WHERE category_id = ' . $_GET['id'] . ' ORDER BY date_created DESC LIMIT 5';
$result = $dbc->query($query);
if ($result->num_rows > 0) { // Pages available!
// Fetch each record:
while ($row = $result->fetch_assoc()) {
// Display each record:
echo "<div><h4><a href="page.php?id={$row['id']}">{$row['title']}</a></h4><p>{$row['description']}</p></div>n";
} // End of WHILE loop.
} else { // No pages available.
echo '<p>There are currently no pages of content associated with this category. Please check back again!</p>';
}
} else { // No valid ID.
$page_title = 'Error!';
include ('./includes/header.html');
echo '<p class="error">Sorry, this page does not exist.</p>';
} // End of primary IF.

?>
<ul class="pagination">
<li><a href="page.php?id=1">First</a></li>
<li class="<?php if($page_no <= 1){ echo 'disabled'; } ?>">
<a href="page.php<?php if($page_no <= 1){ echo '#'; } else { echo "?id=".($page_no - 1); } ?>">Prev</a>
</li>
<li class="<?php if($page_no >= $total_pages){ echo 'disabled'; } ?>">
<a href="page.php<?php if($page_no >= $total_pages){ echo '#'; } else { echo "?id=".($page_no + 1); } ?>">Next</a>
</li>
<li><a href="page.php?id=<?php echo $total_pages; ?>">Last</a></li>
</ul>
$sql = 'SELECT category FROM categories WHERE id = ' . $_GET['id'];
$page_no = $_GET['id'];
$query = 'SELECT id, title, description FROM pages WHERE category_id = ' . $_GET['id'] . ' ORDER BY date_created DESC LIMIT 5';

您是否打算将$_GET['id']用于页码和category_id?这不应该是两个独立的变量吗?类似:类别id为$_GET['id'],页码为$_GET['page']

最新更新