在PHP中實現分頁查詢,通常需要以下幾個步驟:
以下是一個簡單的示例,展示了如何使用PHP和MySQL實現分頁查詢:
<?php
// 數據庫連接信息
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 創建連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
// 設置字符集為utf8,防止中文亂碼
$conn->set_charset("utf8");
// 當前頁數,默認為1
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
// 每頁顯示的記錄數,默認為10
$limit = 10;
// 計算偏移量
$offset = ($page - 1) * $limit;
// 計算總記錄數
$sql_count = "SELECT COUNT(*) FROM myTable";
$result_count = $conn->query($sql_count);
$row_count = $result_count->fetch_row()[0];
// 計算總頁數
$total_pages = ceil($row_count / $limit);
// 編寫分頁查詢語句
$sql_page = "SELECT * FROM myTable LIMIT $offset, $limit";
$result_page = $conn->query($sql_page);
// 處理結果
if ($result_page->num_rows > 0) {
while($row = $result_page->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 結果";
}
// 分頁導航
for ($i = 1; $i <= $total_pages; $i++) {
echo "<a href='?page=$i'>$i</a> ";
}
// 關閉連接
$conn->close();
?>
在這個示例中,我們首先連接到MySQL數據庫,然后根據當前頁數和每頁顯示的記錄數計算偏移量。接著,我們編寫一個SQL查詢語句,使用LIMIT
子句來獲取當前頁的數據。最后,我們處理查詢結果并顯示出來,同時提供一個分頁導航,允許用戶點擊頁碼來切換不同的頁面。