实现分页和搜索功能是Web开发中的常见需求,以下是使用PHP实现分页和搜索功能的示例代码:
分页功能:
<?php
// 假设有100条数据
$total = 100;
// 每页显示10条数据
$perPage = 10;
// 计算总页数
$totalPages = ceil($total / $perPage);
// 当前页码
$page = isset($_GET["page"]) ? intval($_GET["page"]) : 1;
// 如果当前页码小于1,则跳转到第一页
if ($page < 1) {
header("Location: ?page=1");
exit;
}
// 如果当前页码大于总页数,则跳转到最后一页
if ($page > $totalPages) {
header("Location: ?page=$totalPages");
exit;
}
// 计算当前页数据的起始位置
$start = ($page - 1) * $perPage;
// 查询当前页数据
$query = "SELECT * FROM table LIMIT $start, $perPage";
// 执行查询操作
// ...
// 显示分页导航
echo "<div class="pagination">";
if ($page > 1) {
echo "<a href="?page=".($page-1)."">上一页</a>";
}
for ($i = 1; $i <= $totalPages; $i++) {
echo "<a href="?page=".$i.""".($page==$i ? " class="active"" : "").">".$i."</a>";
}
if ($page < $totalPages) {
echo "<a href="?page=".($page+1)."">下一页</a>";
}
echo "</div>";
?>
搜索功能:
<?php
// 获取搜索关键词
$keyword = isset($_GET["keyword"]) ? trim($_GET["keyword"]) : "";
// 构造查询条件
$where = "";
if ($keyword) {
$where = "WHERE title LIKE "%$keyword%"";
}
// 查询数据
$query = "SELECT * FROM table $where";
// 执行查询操作
// ...
// 显示搜索表单
echo "<form method="get">";
echo "<input type="text" name="keyword" value="".$keyword."">";
echo "<button type="submit">搜索</button>";
echo "</form>";
?>