EasyUI 是一个基于 jQuery 的前端 UI 框架,提供了丰富的 UI 组件,方便开发者快速构建 Web 应用。MySQL 是一种关系型数据库管理系统,广泛应用于各种 Web 开发项目中。
分页是指将数据分成多个页面进行显示,以提高用户体验和查询效率。在 Web 开发中,分页通常涉及前端和后端的协同工作。
<!DOCTYPE html>
<html>
<head>
<title>EasyUI MySQL 分页示例</title>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/jquery-easyui@1.10.0/themes/default/easyui.css">
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-easyui@1.10.0/jquery.easyui.min.js"></script>
</head>
<body>
<table id="dg" class="easyui-datagrid" style="width:700px;height:250px"
data-options="
url: 'get_data.php',
method: 'get',
pagination: true,
pageSize: 10,
pageList: [5, 10, 15, 20],
fitColumns: true,
singleSelect: true
">
<thead>
<tr>
<th data-options="field:'id',width:80">ID</th>
<th data-options="field:'name',width:120">Name</th>
<th data-options="field:'age',width:80,align:'right'">Age</th>
</tr>
</thead>
</table>
</body>
</html>
<?php
// get_data.php
$host = 'localhost';
$user = 'root';
$password = 'password';
$dbname = 'test';
$conn = new mysqli($host, $user, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$limit = 10;
$offset = ($page - 1) * $limit;
$sql = "SELECT * FROM users LIMIT $limit OFFSET $offset";
$result = $conn->query($sql);
$data = [];
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$data[] = $row;
}
}
$sql = "SELECT COUNT(*) as total FROM users";
$total_result = $conn->query($sql);
$total_row = $total_result->fetch_assoc();
$total = $total_row['total'];
echo json_encode(array(
'total' => $total,
'rows' => $data
));
$conn->close();
?>
LIMIT
和 OFFSET
计算错误。LIMIT
和 OFFSET
的计算正确。pagination
配置项,确保 url
、method
、pageSize
等参数设置正确。领取专属 10元无门槛券
手把手带您无忧上云