html设计一个选课数据库 CMS b)表结构 i.学生:学号(非负整数,自增,主关键字),姓名(10个字符),专业(20个字符) ii.课程:课程号(非负整数,自增,主关键字),课程名(30个字符),任课教师(10个字符) iii.学生—课程:学号(非负整数),课程号(非负整数): c)编写 PHP 网页,实现如下功能: i.输入学号,以 Ajax 方式从服务器获取学生姓名和专业 ii.如果该学生存在,点击查询按钮,可以表格方式显示其所选的全部课程。
时间: 2024-02-04 14:01:40 浏览: 98
以下是一个简单的选课数据库CMS的PHP实现,实现了根据学号获取学生姓名和专业的Ajax功能,以及查询指定学生选课信息的功能。
HTML页面代码(index.html):
```html
<!DOCTYPE html>
<html>
<head>
<title>选课系统</title>
<meta charset="utf-8">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
function getStudentInfo() {
var id = $('#id').val();
$.ajax({
url: 'getStudentInfo.php',
type: 'post',
data: {id: id},
dataType: 'json',
success: function(data) {
if (data.success) {
$('#name').val(data.name);
$('#major').val(data.major);
} else {
alert(data.message);
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
}
function getCourseInfo() {
var id = $('#id').val();
$.ajax({
url: 'getCourseInfo.php',
type: 'post',
data: {id: id},
dataType: 'json',
success: function(data) {
if (data.success) {
var html = '<table><tr><th>课程号</th><th>课程名</th><th>任课教师</th></tr>';
for (var i = 0; i < data.courses.length; i++) {
html += '<tr><td>' + data.courses[i].id + '</td><td>' + data.courses[i].name + '</td><td>' + data.courses[i].teacher + '</td></tr>';
}
html += '</table>';
$('#course-info').html(html);
} else {
$('#course-info').html('');
alert(data.message);
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
}
</script>
</head>
<body>
<h1>选课系统</h1>
<p>请输入学号:</p>
<input type="text" id="id" name="id">
<button onclick="getStudentInfo()">查询学生信息</button><br>
<p>姓名:<input type="text" id="name" name="name" readonly></p>
<p>专业:<input type="text" id="major" name="major" readonly></p>
<button onclick="getCourseInfo()">查询选课信息</button><br>
<div id="course-info"></div>
</body>
</html>
```
PHP代码(getStudentInfo.php):
```php
<?php
$id = $_POST['id'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'dbname');
if (!$conn) {
die('连接数据库失败:' . mysqli_error($conn));
}
// 查询学生信息
$sql = "SELECT name, major FROM student WHERE id = $id";
$result = mysqli_query($conn, $sql);
if (!$result) {
die('查询失败:' . mysqli_error($conn));
}
// 返回结果
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$data = array(
'success' => true,
'name' => $row['name'],
'major' => $row['major']
);
} else {
$data = array(
'success' => false,
'message' => '学生不存在'
);
}
echo json_encode($data);
mysqli_close($conn);
?>
```
PHP代码(getCourseInfo.php):
```php
<?php
$id = $_POST['id'];
// 连接数据库
$conn = mysqli_connect('localhost', 'root', 'password', 'dbname');
if (!$conn) {
die('连接数据库失败:' . mysqli_error($conn));
}
// 查询选课信息
$sql = "SELECT course.id, course.name, course.teacher FROM student_course, course WHERE student_course.student_id = $id AND student_course.course_id = course.id";
$result = mysqli_query($conn, $sql);
if (!$result) {
die('查询失败:' . mysqli_error($conn));
}
// 返回结果
if (mysqli_num_rows($result) > 0) {
$courses = array();
while ($row = mysqli_fetch_assoc($result)) {
$courses[] = array(
'id' => $row['id'],
'name' => $row['name'],
'teacher' => $row['teacher']
);
}
$data = array(
'success' => true,
'courses' => $courses
);
} else {
$data = array(
'success' => false,
'message' => '该学生未选修任何课程'
);
}
echo json_encode($data);
mysqli_close($conn);
?>
```
说明:以上代码仅供参考,实际应用中需要根据具体情况进行修改和完善。
阅读全文