教我如何用做一个学生管理系统
时间: 2023-11-30 12:08:30 浏览: 163
一个学生管理系统
学生管理系统是一个典型的基于Web的信息系统,它可以帮助学校或教育机构管理学生的个人信息、学习记录、成绩等数据。下面是一个简单的学生管理系统的示例,使用HTML、CSS和JavaScript实现前端页面,使用PHP和MySQL实现后端的数据处理和管理。
1. 创建数据库
首先,需要创建一个MySQL数据库,用于存储学生信息、成绩和课程等数据。可以使用以下SQL语句创建一个名为`student`的数据库:
```sql
CREATE DATABASE student;
```
然后,创建一个名为`students`的学生表,用于存储学生的个人信息:
```sql
USE student;
CREATE TABLE students (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
birthday DATE NOT NULL,
major VARCHAR(50) NOT NULL,
grade VARCHAR(20) NOT NULL
);
```
2. 创建前端页面
接下来,使用HTML、CSS和JavaScript创建一个基本的学生管理系统前端页面。可以使用以下代码作为参考:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生管理系统</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>学生管理系统</h1>
<div class="form">
<h2>添加学生</h2>
<form>
<label>姓名:</label>
<input type="text" id="name" name="name"><br>
<label>性别:</label>
<input type="radio" id="male" name="gender" value="男"><label for="male">男</label>
<input type="radio" id="female" name="gender" value="女"><label for="female">女</label><br>
<label>出生日期:</label>
<input type="date" id="birthday" name="birthday"><br>
<label>专业:</label>
<input type="text" id="major" name="major"><br>
<label>年级:</label>
<input type="text" id="grade" name="grade"><br>
<input type="button" value="添加" onclick="addStudent()">
<input type="reset" value="重置">
</form>
</div>
<div class="table">
<h2>学生列表</h2>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>性别</th>
<th>出生日期</th>
<th>专业</th>
<th>年级</th>
<th>操作</th>
</tr>
</thead>
<tbody id="student-list">
</tbody>
</table>
</div>
<script src="main.js"></script>
</body>
</html>
```
该页面包含一个表单用于添加学生,以及一个表格用于显示学生列表。在`<head>`标签中引入了一个样式文件`style.css`和一个JavaScript文件`main.js`。
3. 创建后端接口
接着,需要创建后端接口,用于处理前端页面提交的数据,并将数据存储到MySQL数据库中。可以使用PHP编写后端接口,以下是一个简单的示例:
```php
<?php
// 连接数据库
$conn = mysqli_connect("localhost", "root", "password", "student");
// 处理添加学生请求
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$gender = $_POST["gender"];
$birthday = $_POST["birthday"];
$major = $_POST["major"];
$grade = $_POST["grade"];
// 插入学生数据到数据库
$sql = "INSERT INTO students (name, gender, birthday, major, grade) VALUES ('$name', '$gender', '$birthday', '$major', '$grade')";
mysqli_query($conn, $sql);
}
// 处理获取学生列表请求
if ($_SERVER["REQUEST_METHOD"] == "GET") {
$sql = "SELECT * FROM students";
$result = mysqli_query($conn, $sql);
// 将学生数据转换为JSON格式返回给前端
$students = array();
while ($row = mysqli_fetch_assoc($result)) {
$students[] = $row;
}
echo json_encode($students);
}
// 关闭数据库连接
mysqli_close($conn);
?>
```
该接口处理前端页面提交的添加学生请求和获取学生列表请求,将数据存储到MySQL数据库中或从数据库中获取数据,并将学生数据转换为JSON格式返回给前端。
4. 创建JavaScript文件
最后,需要创建一个JavaScript文件,用于调用后端接口,并将学生数据显示在前端页面上。可以使用以下代码作为参考:
```javascript
// 获取学生列表
function getStudentList() {
fetch("api.php")
.then(response => response.json())
.then(data => {
// 清空列表
const studentList = document.getElementById("student-list");
studentList.innerHTML = "";
// 遍历学生数据,添加到列表中
data.forEach(student => {
const tr = document.createElement("tr");
tr.innerHTML = `
<td>${student.id}</td>
<td>${student.name}</td>
<td>${student.gender}</td>
<td>${student.birthday}</td>
<td>${student.major}</td>
<td>${student.grade}</td>
<td><button onclick="deleteStudent(${student.id})">删除</button></td>
`;
studentList.appendChild(tr);
});
});
}
// 添加学生
function addStudent() {
const form = document.querySelector("form");
const name = form.elements["name"].value;
const gender = form.elements["gender"].value;
const birthday = form.elements["birthday"].value;
const major = form.elements["major"].value;
const grade = form.elements["grade"].value;
// 提交数据到后端接口
fetch("api.php", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
body: `name=${name}&gender=${gender}&birthday=${birthday}&major=${major}&grade=${grade}`
})
.then(() => {
// 添加成功后刷新学生列表
getStudentList();
form.reset();
});
}
// 删除学生
function deleteStudent(id) {
// 向后端接口发送删除请求
fetch(`api.php?id=${id}`, {
method: "DELETE"
})
.then(() => {
// 删除成功后刷新学生列表
getStudentList();
});
}
// 页面加载完成后获取学生列表
document.addEventListener("DOMContentLoaded", () => {
getStudentList();
});
```
该JavaScript文件包含了三个函数,分别用于获取学生列表、添加学生和删除学生。其中,`getStudentList()`函数使用`fetch()`函数向后端接口发送获取学生列表请求,并将学生数据显示在前端页面的表格中;`addStudent()`函数从表单中获取学生数据,使用`fetch()`函数向后端接口发送添加学生请求,并在成功添加后刷新学生列表;`deleteStudent()`函数向后端接口发送删除学生请求,并在成功删除后刷新学生列表。最后,页面加载完成后调用`getStudentList()`函数获取学生列表并显示在表格中。
综上所述,以上示例是一个简单的学生管理系统的实现,使用HTML、CSS和JavaScript实现前端页面,使用PHP和MySQL实现后端的数据处理和管理。但是需要注意的是,该示例仅作为学习参考,实际的学生管理系统需要更加复杂的功能和数据处理能力,需要更加完善的前后端技术和架构支持。
阅读全文