用php建造一个班级管理系统包含数据库中的学生表课程表选课表
时间: 2024-03-11 20:49:29 浏览: 15
好的,班级管理系统需要涉及到学生表、课程表和选课表,因此需要设计相应的数据库。
首先,我们需要创建一个数据库,假设名字为class_management,然后在该数据库中创建以下三个表:
1. 学生表(students)
```
CREATE TABLE students (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
gender ENUM('male', 'female') NOT NULL,
age INT(3) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20) NOT NULL,
address VARCHAR(200) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
学生表包含学生的基本信息,如姓名、性别、年龄、邮件地址、电话号码和地址等。
2. 课程表(courses)
```
CREATE TABLE courses (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
课程表包含课程的基本信息,如课程名称和描述等。
3. 选课表(enrollments)
```
CREATE TABLE enrollments (
id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
student_id INT(11) NOT NULL,
course_id INT(11) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (student_id) REFERENCES students(id) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (course_id) REFERENCES courses(id) ON DELETE CASCADE ON UPDATE CASCADE
);
```
选课表记录了学生选修的课程信息,其中student_id和course_id分别是学生表和课程表的外键。
接下来,我们可以使用PHP语言来连接数据库并进行相关操作,如查询学生信息、添加课程和选修课程等。下面是一个简单的示例代码:
```php
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'class_management');
// 检查连接是否成功
if (!$conn) {
die('连接数据库失败: ' . mysqli_connect_error());
}
// 查询学生信息
$sql = "SELECT * FROM students";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
// 输出每一行记录
while($row = mysqli_fetch_assoc($result)) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Age: " . $row["age"]. "<br>";
}
} else {
echo "没有查询到学生信息";
}
// 添加课程
$sql = "INSERT INTO courses (name, description) VALUES ('PHP基础', '学习PHP语言的基础知识')";
if (mysqli_query($conn, $sql)) {
echo "课程添加成功";
} else {
echo "添加课程失败: " . mysqli_error($conn);
}
// 选修课程
$student_id = 1;
$course_id = 1;
$sql = "INSERT INTO enrollments (student_id, course_id) VALUES ($student_id, $course_id)";
if (mysqli_query($conn, $sql)) {
echo "选修课程成功";
} else {
echo "选修课程失败: " . mysqli_error($conn);
}
// 关闭连接
mysqli_close($conn);
```
这是一个简单的班级管理系统的示例代码,具体实现可以根据实际需求进行扩展和优化。