学生管理系统MVC分页查询控制器和模型怎么写html+js+php
时间: 2024-09-29 13:09:11 浏览: 45
在学生管理系统中,采用MVC(Model-View-Controller)架构,分页查询的Controller、Model和HTML部分通常是这样的:
**1. Controller(PHP) - 控制器**
```php
// 学生模型文件
require_once 'Student.php';
class StudentController {
public function index($page = 1, $limit = 10) {
$model = new StudentModel();
$students = $model->getStudentsWithPagination($page, $limit);
$this->render('student_list', ['students' => $students]);
}
}
// 调用函数
_studentController_ = new StudentController();
_studentController_.index($_GET['page'] ?? 1, $_GET['limit'] ?? 10);
```
**2. Model(PHP) - 模型**
```php
class StudentModel {
public function getStudentsWithPagination($page, $limit) {
// 这里假设你有一个数据库连接
$offset = ($page - 1) * $limit;
$query = "SELECT * FROM students LIMIT :limit OFFSET :offset";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);
}
}
```
**3. View(HTML + JS) - 视图**
```html
<!-- student_list.html -->
<!DOCTYPE html>
<html lang="zh">
<head>
<title>学生列表</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<div id="students-container">
<!-- 使用Ajax异步获取数据 -->
<script>
$(document).ready(function () {
$.get('/student/index', { page: $('#current_page').val(), limit: $('#limit_per_page').val() }, function (data) {
// 渲染数据到页面
renderStudents(data.students);
});
});
function renderStudents(students) {
// ... 你的渲染逻辑,如遍历并插入DOM元素
}
</script>
<!-- 分页相关表单和按钮 -->
<form id="pagination-form">
<input type="number" name="current_page" value="1" id="current_page">
Limit per page: <input type="number" name="limit_per_page" value="10" id="limit_per_page">
<button type="submit">Load More</button>
</form>
</div>
</body>
</html>
```
以上代码只是一个基础示例,实际应用中可能还需要处理错误、添加验证等。记得根据你的需求调整SQL查询、路由配置以及前端UI细节。