基于PHP和MYSQL做一个班级学生成绩管理系统,里面需要包含以下几点:1、学生表(学号、姓名、性别、年龄、身份证号、专业编号、班级编号、联系方式、家庭住址、备注) 2、课程表(课程编号、课程名称、主编、出版社、学分) 3、选课表(学号、课程编号、分数)4、学生表基本信息管理界面(增加、删除、修改) 5、课程表基本信息管理界面(增加、删除、修改) 6、学生选课界面 7、成绩查询界面,能够通过网页实现班级指定课程所有同学的成绩,能够实现指定学生所有课程的成绩,能够实现指定课程、指定学生的成绩,要求查询信息完整 8、补考查询界面,能够通过网页实现指定班级、指定课程的补考名单,能够实现指定学生补考名单;并给出相应代码
时间: 2023-07-10 15:32:47 浏览: 54
以下是基于PHP和MySQL的班级学生成绩管理系统的代码实现:
1. 学生表(students):id, name, gender, age, id_number, major_id, class_id, contact_info, address, comment
2. 课程表(courses):id, name, author, press, credit
3. 选课表(selected_courses):id, student_id, course_id, score
其中,major_id和class_id分别是指向“专业表”和“班级表”的外键。
连接数据库:
```php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "student";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
```
学生表基本信息管理界面(增加、删除、修改):
```php
// 增加学生信息
$sql = "INSERT INTO students (id, name, gender, age, id_number, major_id, class_id, contact_info, address, comment) VALUES ('$id', '$name', '$gender', '$age', '$id_number', '$major_id', '$class_id', '$contact_info', '$address', '$comment')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
// 删除学生信息
$sql = "DELETE FROM students WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
// 修改学生信息
$sql = "UPDATE students SET name='$name', gender='$gender', age='$age', id_number='$id_number', major_id='$major_id', class_id='$class_id', contact_info='$contact_info', address='$address', comment='$comment' WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
```
课程表基本信息管理界面(增加、删除、修改):
```php
// 增加课程信息
$sql = "INSERT INTO courses (id, name, author, press, credit) VALUES ('$id', '$name', '$author', '$press', '$credit')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
// 删除课程信息
$sql = "DELETE FROM courses WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . mysqli_error($conn);
}
// 修改课程信息
$sql = "UPDATE courses SET name='$name', author='$author', press='$press', credit='$credit' WHERE id='$id'";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
```
学生选课界面:
```php
// 查询可选课程
$sql = "SELECT * FROM courses WHERE id NOT IN (SELECT course_id FROM selected_courses WHERE student_id='$student_id')";
$result = mysqli_query($conn, $sql);
// 生成可选课程列表
echo "<ul>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<li>".$row["name"]."<a href=\"select_course.php?student_id=".$student_id."&course_id=".$row["id"]."\">选课</a></li>";
}
echo "</ul>";
// 选课
$sql = "INSERT INTO selected_courses (student_id, course_id, score) VALUES ('$student_id', '$course_id', '0')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
```
成绩查询界面:
```php
// 查询班级指定课程所有同学的成绩
$sql = "SELECT students.name as student_name, selected_courses.score FROM students, selected_courses WHERE students.class_id='$class_id' AND selected_courses.course_id='$course_id' AND selected_courses.student_id=students.id";
$result = mysqli_query($conn, $sql);
// 生成成绩列表
echo "<table>";
echo "<tr><th>姓名</th><th>成绩</th></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>".$row["student_name"]."</td><td>".$row["score"]."</td></tr>";
}
echo "</table>";
// 查询指定学生所有课程的成绩
$sql = "SELECT courses.name as course_name, selected_courses.score FROM courses, selected_courses WHERE selected_courses.student_id='$student_id' AND selected_courses.course_id=courses.id";
$result = mysqli_query($conn, $sql);
// 生成成绩列表
echo "<table>";
echo "<tr><th>课程名称</th><th>成绩</th></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>".$row["course_name"]."</td><td>".$row["score"]."</td></tr>";
}
echo "</table>";
// 查询指定课程、指定学生的成绩
$sql = "SELECT selected_courses.score FROM selected_courses WHERE selected_courses.student_id='$student_id' AND selected_courses.course_id='$course_id'";
$result = mysqli_query($conn, $sql);
// 输出成绩
while ($row = mysqli_fetch_assoc($result)) {
echo "成绩为:".$row["score"];
}
```
补考查询界面:
```php
// 查询指定班级、指定课程的补考名单
$sql = "SELECT students.name as student_name, selected_courses.score FROM students, selected_courses WHERE students.class_id='$class_id' AND selected_courses.course_id='$course_id' AND selected_courses.score<60 AND selected_courses.student_id=students.id";
$result = mysqli_query($conn, $sql);
// 生成补考名单
echo "<table>";
echo "<tr><th>姓名</th><th>成绩</th></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>".$row["student_name"]."</td><td>".$row["score"]."</td></tr>";
}
echo "</table>";
// 查询指定学生补考名单
$sql = "SELECT courses.name as course_name, selected_courses.score FROM courses, selected_courses WHERE selected_courses.student_id='$student_id' AND selected_courses.course_id=courses.id AND selected_courses.score<60";
$result = mysqli_query($conn, $sql);
// 生成补考名单
echo "<table>";
echo "<tr><th>课程名称</th><th>成绩</th></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>".$row["course_name"]."</td><td>".$row["score"]."</td></tr>";
}
echo "</table>";
```
以上是班级学生成绩管理系统的基本代码实现,具体实现方式可能会因为需求不同而有所差异。