php 增加了页面中搜索的功能,搜索前分页浏览的是全部信息,搜索后分页浏览只显示搜索结果信息,写出代码
时间: 2024-03-12 09:50:04 浏览: 15
下面是一个示例代码,其中使用了PHP和MySQL来实现页面搜索和分页浏览的功能:
首先,我们需要在页面中添加一个搜索表单,允许用户输入搜索关键字:
```
<form method="get" action="">
<input type="text" name="keyword" value="">
<input type="submit" value="搜索">
</form>
```
然后,在PHP中,我们需要处理搜索请求,并构建相应的SQL查询语句:
```
// 连接到MySQL数据库
$conn = mysqli_connect($host, $username, $password, $dbname);
// 检查是否有搜索关键字
if (isset($_GET['keyword'])) {
$keyword = mysqli_real_escape_string($conn, $_GET['keyword']);
$where = "WHERE title LIKE '%$keyword%'";
} else {
$where = "";
}
// 计算记录总数
$sql = "SELECT COUNT(*) FROM articles $where";
$result = mysqli_query($conn, $sql);
$total = mysqli_fetch_row($result)[0];
// 设置每页显示的记录数
$limit = 10;
// 计算总页数
$pages = ceil($total / $limit);
// 获取当前页数
$page = isset($_GET['page']) ? $_GET['page'] : 1;
// 计算偏移量
$offset = ($page - 1) * $limit;
// 构建SQL查询语句
$sql = "SELECT * FROM articles $where LIMIT $offset, $limit";
$result = mysqli_query($conn, $sql);
// 处理查询结果
while ($row = mysqli_fetch_assoc($result)) {
// 显示文章标题和内容
echo "<h2>{$row['title']}</h2>";
echo "<p>{$row['content']}</p>";
}
// 显示分页链接
if ($pages > 1) {
echo "<div class='pagination'>";
for ($i = 1; $i <= $pages; $i++) {
echo "<a href='?page=$i'>$i</a>";
}
echo "</div>";
}
```
在上面的代码中,我们首先检查是否有搜索关键字,如果有,则构建一个WHERE子句来限制查询结果。然后,我们计算记录总数,并根据每页显示的记录数和总记录数来计算总页数和偏移量。接下来,我们构建SQL查询语句,并将结果遍历处理,显示文章标题和内容。最后,我们根据总页数生成分页链接。
值得注意的是,这只是一个示例代码,实际应用中需要根据具体情况进行调整和完善。