在PHP中,可以使用MySQL的LIMIT子句來實現搜索結果的分頁顯示。LIMIT子句用于限制查詢結果的返回條數。
以下是一個使用LIMIT子句實現搜索結果分頁顯示的示例:
<?php
// 連接到數據庫
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
// 獲取頁碼和每頁顯示條數
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$perPage = 10;
// 計算查詢結果的起始位置
$start = ($page - 1) * $perPage;
// 執行查詢語句
$sql = "SELECT * FROM table_name LIMIT $start, $perPage";
$result = $conn->query($sql);
// 顯示查詢結果
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo $row["column_name"]. "
";
}
} else {
echo "0 結果";
}
// 顯示分頁鏈接
$sql = "SELECT COUNT(*) AS total FROM table_name";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$totalPages = ceil($row["total"] / $perPage);
for ($i = 1; $i <= $totalPages; $i++) {
echo "<a href='search.php?page=$i'>$i</a> ";
}
// 關閉數據庫連接
$conn->close();
?>
在上述示例中,通過GET參數獲取當前頁碼$_GET['page']
,以及每頁顯示的條數$perPage
。然后,根據當前頁碼計算查詢結果的起始位置$start
。
接下來,執行帶有LIMIT子句的查詢語句,限制返回結果的條數。
然后,使用循環遍歷查詢結果并進行顯示。
最后,計算總頁數$totalPages
,并生成分頁鏈接。每個鏈接都包含對應的頁碼參數。
請注意,以上示例中的table_name
應該替換為實際的數據庫表名,column_name
應該替換為實際的列名。另外,還需要根據實際的數據庫連接信息進行修改。