基于PHP和MYSQL做一个班级学生成绩管理系统,里面需要包含以下几点:1、学生表(学号、姓名、性别、年龄、身份证号、专业编号、班级编号、联系方式、家庭住址、备注) 2、课程表(课程编号、课程名称、主编、出版社、学分) 3、选课表(学号、课程编号、分数)4、学生表基本信息管理界面(增加、删除、修改) 5、课程表基本信息管理界面(增加、删除、修改) 6、学生选课界面 7、成绩查询界面,能够通过网页实现班级指定课程所有同学的成绩,能够实现指定学生所有课程的成绩,能够实现指定课程、指定学生的成绩,要求查询信息完整 8、补考查询界面,能够通过网页实现指定班级、指定课程的补考名单,能够实现指定学生补考名单;并给出相应的代码
时间: 2023-07-10 07:32:55 浏览: 169
好的,下面是一个基于PHP和MySQL的班级学生成绩管理系统的实现代码。这里只提供代码框架和核心逻辑,具体的实现需要根据实际情况来:
1. 创建数据库和数据表
在MySQL中创建数据库和数据表,包括学生表、课程表和选课表。例如:
```
CREATE DATABASE student;
USE student;
CREATE TABLE student_info (
id INT(10) NOT NULL AUTO_INCREMENT,
student_id VARCHAR(20) NOT NULL,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
age INT(3) NOT NULL,
id_card VARCHAR(50) NOT NULL,
major_id VARCHAR(20) NOT NULL,
class_id VARCHAR(20) NOT NULL,
contact VARCHAR(50) NOT NULL,
address VARCHAR(200) NOT NULL,
remark VARCHAR(200),
PRIMARY KEY (id)
);
CREATE TABLE course_info (
id INT(10) NOT NULL AUTO_INCREMENT,
course_id VARCHAR(20) NOT NULL,
name VARCHAR(50) NOT NULL,
editor VARCHAR(50) NOT NULL,
publisher VARCHAR(50) NOT NULL,
credit INT(3) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE course_selection (
id INT(10) NOT NULL AUTO_INCREMENT,
student_id VARCHAR(20) NOT NULL,
course_id VARCHAR(20) NOT NULL,
score INT(3),
PRIMARY KEY (id)
);
```
2. 创建登录页面和后台管理页面
创建一个登录页面和一个后台管理页面,例如:
index.php
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登录</title>
</head>
<body>
<form action="login.php" method="post">
<label>用户名:</label><input type="text" name="username"><br>
<label>密码:</label><input type="password" name="password"><br>
<input type="submit" value="登录">
</form>
</body>
</html>
```
admin.php
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>后台管理</title>
</head>
<body>
<h1>学生成绩管理系统</h1>
<h2>学生信息管理</h2>
<p><a href="add_student.php">添加学生信息</a></p>
<p><a href="delete_student.php">删除学生信息</a></p>
<p><a href="update_student.php">修改学生信息</a></p>
<h2>课程信息管理</h2>
<p><a href="add_course.php">添加课程信息</a></p>
<p><a href="delete_course.php">删除课程信息</a></p>
<p><a href="update_course.php">修改课程信息</a></p>
<h2>学生选课</h2>
<p><a href="select_course.php">学生选课</a></p>
<h2>成绩查询</h2>
<p><a href="query_score.php">成绩查询</a></p>
<h2>补考查询</h2>
<p><a href="query_makeup_exam.php">补考查询</a></p>
<p><a href="logout.php">注销登录</a></p>
</body>
</html>
```
3. 实现登录验证功能
创建login.php页面,实现登录验证功能,例如:
```
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
// 连接数据库
$db = mysqli_connect('localhost', 'root', 'password', 'student');
// 执行SQL查询
$query = "SELECT * FROM user WHERE username='$username' AND password='$password'";
$result = mysqli_query($db, $query);
// 验证登录信息
if (mysqli_num_rows($result) == 1) {
$_SESSION['username'] = $username;
header('Location: admin.php');
} else {
echo '用户名或密码错误';
}
}
?>
```
4. 实现学生信息管理功能
创建add_student.php、delete_student.php和update_student.php页面,实现添加、删除和修改学生信息的功能。
add_student.php
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>添加学生信息</title>
</head>
<body>
<h1>添加学生信息</h1>
<form action="add_student.php" method="post">
<label>学号:</label><input type="text" name="student_id"><br>
<label>姓名:</label><input type="text" name="name"><br>
<label>性别:</label><input type="radio" name="gender" value="男">男
<input type="radio" name="gender" value="女">女<br>
<label>年龄:</label><input type="text" name="age"><br>
<label>身份证号:</label><input type="text" name="id_card"><br>
<label>专业编号:</label><input type="text" name="major_id"><br>
<label>班级编号:</label><input type="text" name="class_id"><br>
<label>联系方式:</label><input type="text" name="contact"><br>
<label>家庭住址:</label><input type="text" name="address"><br>
<label>备注:</label><textarea name="remark"></textarea><br>
<input type="submit" value="添加">
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$student_id = $_POST['student_id'];
$name = $_POST['name'];
$gender = $_POST['gender'];
$age = $_POST['age'];
$id_card = $_POST['id_card'];
$major_id = $_POST['major_id'];
$class_id = $_POST['class_id'];
$contact = $_POST['contact'];
$address = $_POST['address'];
$remark = $_POST['remark'];
// 连接数据库
$db = mysqli_connect('localhost', 'root', 'password', 'student');
// 执行SQL插入操作
$query = "INSERT INTO student_info (student_id, name, gender, age, id_card, major_id, class_id, contact, address, remark) VALUES ('$student_id', '$name', '$gender', $age, '$id_card', '$major_id', '$class_id', '$contact', '$address', '$remark')";
mysqli_query($db, $query);
// 返回学生信息管理页面
header('Location: admin.php');
}
?>
```
delete_student.php
```
<?php
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$id = $_GET['id'];
// 连接数据库
$db = mysqli_connect('localhost', 'root', 'password', 'student');
// 执行SQL删除操作
$query = "DELETE FROM student_info WHERE id=$id";
mysqli_query($db, $query);
// 返回学生信息管理页面
header('Location: admin.php');
}
?>
```
update_student.php
```
<?php
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$id = $_GET['id'];
// 连接数据库
$db = mysqli_connect('localhost', 'root', 'password', 'student');
// 执行SQL查询操作
$query = "SELECT * FROM student_info WHERE id=$id";
$result = mysqli_query($db, $query);
$row = mysqli_fetch_assoc($result);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>修改学生信息</title>
</head>
<body>
<h1>修改学生信息</h1>
<form action="update_student.php" method="post">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>">
<label>学号:</label><input type="text" name="student_id" value="<?php echo $row['student_id']; ?>"><br>
<label>姓名:</label><input type="text" name="name" value="<?php echo $row['name']; ?>"><br>
<label>性别:</label><input type="radio" name="gender" value="男"<?php if ($row['gender'] == '男') { echo ' checked'; } ?>>男
<input type="radio" name="gender" value="女"<?php if ($row['gender'] == '女') { echo ' checked'; } ?>>女<br>
<label>年龄:</label><input type="text" name="age" value="<?php echo $row['age']; ?>"><br>
<label>身份证号:</label><input type="text" name="id_card" value="<?php echo $row['id_card']; ?>"><br>
<label>专业编号:</label><input type="text" name="major_id" value="<?php echo $row['major_id']; ?>"><br>
<label>班级编号:</label><input type="text" name="class_id" value="<?php echo $row['class_id']; ?>"><br>
<label>联系方式:</label><input type="text" name="contact" value="<?php echo $row['contact']; ?>"><br>
<label>家庭住址:</label><input type="text" name="address" value="<?php echo $row['address']; ?>"><br>
<label>备注:</label><textarea name="remark"><?php echo $row['remark']; ?></textarea><br>
<input type="submit" value="修改">
</form>
</body>
</html>
<?php
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['id'];
$student_id = $_POST['student_id'];
$name = $_POST['name'];
$gender = $_POST['gender'];
$age = $_POST['age'];
$id_card = $_POST['id_card'];
$major_id = $_POST['major_id'];
$class_id = $_POST['class_id'];
$contact = $_POST['contact'];
$address = $_POST['address'];
$remark = $_POST['remark'];
// 连接数据库
$db = mysqli_connect('localhost', 'root', 'password', 'student');
// 执行SQL更新操作
$query = "UPDATE student_info SET student_id='$student_id', name='$name', gender='$gender', age=$age, id_card='$id_card', major_id='$major_id', class_id='$class_id', contact='$contact', address='$address', remark='$remark' WHERE id=$id";
mysqli_query($db, $query);
// 返回学生信息管理页面
header('Location: admin.php');
}
?>
```
5. 实现课程信息管理功能
创建add_course.php、delete_course.php和update_course.php页面,实现添加、删除和修改课程信息的功能。
add_course.php
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>添加课程信息</title>
</head>
<body>
<h1>添加课程信息</h1>
<form action="add_course.php" method="post">
<label>课程编号:</label><input type="text" name="course_id"><br>
<label>课程名称:</label><input type="text" name="name"><br>
<label>主编:</label><input type="text" name="editor"><br>
<label>出版社:</label><input type="text" name="publisher"><br>
<label>学分:</label><input type="text" name="credit"><br>
<input type="submit" value="添加">
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$course_id = $_POST['course_id'];
$name = $_POST['name'];
$editor = $_POST['editor'];
$publisher = $_POST['publisher'];
$credit = $_POST['credit'];
// 连接数据库
$db = mysqli_connect('localhost', 'root', 'password', 'student');
// 执行SQL插入操作
$query = "INSERT INTO course_info (course_id, name, editor
阅读全文