4.设计一个选课数据库 CMS a)逻辑模式 b)表结构 i.学生:学号(非负整数,自增,主关键字),姓名(10个字符),专业(20个字符) ii.课程:课程号(非负整数,自增,主关键字),课程名(30个字符),任课教师(10个字符) iii.学生—课程:学号(非负整数),课程号(非负整数): c)编写 PHP 网页,实现如下功能: i.输入学号,以 Ajax 方式从服务器获取学生姓名和专业 ii.如果该学生存在,点击查询按钮,可以表格方式显示其所选的全部课程。
时间: 2024-02-22 19:58:31 浏览: 75
courseselect.rar_数据库 学生选课_数据库课程设计_选课 数据库
好的,下面是我为您设计的选课数据库 CMS 的逻辑模式和表结构:
a) 逻辑模式
- 学生表(Student):学号(非负整数,自增,主关键字)、姓名(10个字符)、专业(20个字符)
- 课程表(Course):课程号(非负整数,自增,主关键字)、课程名(30个字符)、任课教师(10个字符)
- 学生-课程关系表(Student_Course):学号(非负整数,外键,关联学生表)、课程号(非负整数,外键,关联课程表)
b) 表结构
- 学生表(Student):
| 学号 | 姓名 | 专业 |
| --- | --- | --- |
| INT(11) | VARCHAR(10) | VARCHAR(20) |
| PRIMARY KEY | | |
- 课程表(Course):
| 课程号 | 课程名 | 任课教师 |
| --- | --- | --- |
| INT(11) | VARCHAR(30) | VARCHAR(10) |
| PRIMARY KEY | | |
- 学生-课程关系表(Student_Course):
| 学号 | 课程号 |
| --- | --- |
| INT(11) | INT(11) |
| FOREIGN KEY (学号) REFERENCES Student(学号) | FOREIGN KEY (课程号) REFERENCES Course(课程号) |
c) 编写 PHP 网页,实现如下功能:
```php
<!DOCTYPE html>
<html>
<head>
<title>选课系统</title>
<meta charset="UTF-8">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
</head>
<body>
<h1>选课系统</h1>
<form>
<label>学号:</label>
<input type="text" id="stu_id">
<button type="button" id="query">查询</button>
</form>
<div id="result"></div>
<script type="text/javascript">
$(document).ready(function(){
$('#query').click(function(){
var stu_id = $('#stu_id').val();
$.ajax({
url: 'get_student_info.php',
type: 'POST',
data: {stu_id: stu_id},
dataType: 'json',
success: function(data){
if(data.status == 0){
alert(data.msg);
}else{
var html = '<p>姓名:' + data.name + '</p>';
html += '<p>专业:' + data.major + '</p>';
html += '<table><tr><th>课程号</th><th>课程名</th><th>任课教师</th></tr>';
if(data.courses.length == 0){
html += '<tr><td colspan="3">该学生没有选课</td></tr>';
}else{
for(var i = 0; i < data.courses.length; i++){
html += '<tr><td>' + data.courses[i].course_id + '</td><td>' + data.courses[i].course_name + '</td><td>' + data.courses[i].teacher + '</td></tr>';
}
}
html += '</table>';
$('#result').html(html);
}
},
error: function(){
alert('查询失败');
}
});
});
});
</script>
</body>
</html>
```
上面的 PHP 网页使用 jQuery 实现了一个简单的 Ajax 查询功能,可以根据输入的学号获取学生的姓名、专业以及所选课程的信息,并以表格的形式显示出来。其中,get_student_info.php 是一个 PHP 脚本文件,用于处理查询请求和返回数据,您需要根据具体的数据库和服务器环境进行相应的配置和编写。
阅读全文