PHP分页查询实现 - 每页显示4条数据
require __DIR__ . '/mysql.php';
// 获取页码和查询条件
$page = $_POST['page'] ?? 1; // 默认显示第一页
$name = $_POST['name'] ?? '';
// 开启session
session_start();
// 检查用户是否登录
if (!isset($_SESSION['userInfo'])) {
echo json_encode(['type' => -1]);
die;
}
// 计算分页偏移量
$perPage = 4; // 每页显示4条数据
$offset = ($page - 1) * $perPage;
// 构建SQL查询语句
if ($name) {
$sql = 'SELECT * FROM course WHERE name LIKE '%' . $name . '%' ORDER BY id DESC LIMIT ' . $offset . ',' . $perPage;
} else {
$sql = 'SELECT * FROM course ORDER BY id DESC LIMIT ' . $offset . ',' . $perPage;
}
// 执行查询
$result = @mysqli_query($link, $sql);
$list = @mysqli_fetch_all($result, MYSQLI_ASSOC);
// 获取数据总数
if ($name) {
$sql = 'SELECT COUNT(*) AS count FROM course WHERE name LIKE '%' . $name . '%'';
} else {
$sql = 'SELECT COUNT(*) AS count FROM course';
}
$result = @mysqli_query($link, $sql);
$count = mysqli_fetch_assoc($result)['count'];
// 计算总页数
$totalPages = ceil($count / $perPage);
// 关闭数据库连接
mysqli_close($link);
// 构建返回数据
$data = [
'list' => $list,
'page' => $totalPages,
'type' => 1
];
echo json_encode($data);
die;
原文地址: https://www.cveoy.top/t/topic/f1OY 著作权归作者所有。请勿转载和采集!