[英]Page Pagination in PHP
拜托,我是PHP新手。 並且我構建了一個Web應用程序,其中包含指向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? 這不是兩個單獨的變量嗎? 像:$ _GET ['id']代表類別ID,$ _GET ['page']代表頁碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.