在PHP中,实现数据库搜索和分页可以通过以下步骤完成:
以下是一个简单的示例:
<?php
// 数据库配置
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 搜索参数
$search = isset($_GET['search']) ? $_GET['search'] : '';
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$limit = 10; // 每页显示的记录数
$offset = ($page - 1) * $limit;
// SQL查询语句
$sql = "SELECT * FROM myTable WHERE myColumn LIKE '%$search%' LIMIT $offset, $limit";
// 执行查询
$result = $conn->query($sql);
// 分页处理
$totalRows = $conn->query("SELECT COUNT(*) FROM myTable WHERE myColumn LIKE '%$search%'");
$totalPages = ceil($totalRows->fetch_row()[0] / $limit);
// 显示结果
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 结果";
}
// 显示分页链接
for ($i = 1; $i <= $totalPages; $i++) {
echo "<a href='?search=$search&page=$i'>$i</a> ";
}
// 关闭连接
$conn->close();
?>
这个示例中,我们首先连接到数据库,然后根据搜索参数和分页参数构建SQL查询语句。接着执行查询并获取结果,最后显示结果和分页链接。请注意,为了防止SQL注入,建议使用预处理语句和参数化查询。