在PHP和MySQL中實現數據分頁,你可以使用以下步驟:
mysqli
或PDO
擴展來實現連接。使用mysqli
:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 創建連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
使用PDO
:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 設置 PDO 錯誤模式為異常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "連接失敗: " . $e->getMessage();
}
LIMIT
和OFFSET
子句。LIMIT
子句用于限制返回的記錄數,而OFFSET
子句用于指定從哪一條記錄開始返回。$page = isset($_GET['page']) ? $_GET['page'] : 1; // 獲取當前頁數,默認為1
$limit = 10; // 每頁顯示的記錄數
$offset = ($page - 1) * $limit; // 計算偏移量
$sql = "SELECT * FROM myTable LIMIT $limit OFFSET $offset";
$result
。然后,你可以遍歷結果并顯示出來。$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 輸出每行數據
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 結果";
}
// 獲取總記錄數
$total_sql = "SELECT COUNT(*) FROM myTable";
$total_result = $conn->query($total_sql);
$total_rows = $total_result->fetch_row()[0];
$total_pages = ceil($total_rows / $limit); // 計算總頁數
// 顯示分頁導航
for ($i = 1; $i <= $total_pages; $i++) {
echo "<a href='?page=$i'>$i</a> ";
}
這樣,你就可以實現一個基本的分頁功能。你可以根據實際需求對其進行修改和優化。