3.2系统数据库的设计
系统数据库名称:成绩管理数据库
此系统所需要的数据库表有2个,所有表的结构列举如下:
表 1 学生考勤信息表
表2 教师发布作业成绩表
表3 提交作业表
表4 上传作业表
以上各表之间的关系如下:
图3.1表间关系
第四章 详细设计
本系统的主要功能是实现公共课平时成绩的查询功能,它又分为教师对所教专业全体学生的查询和每个学生对自己个人平时成绩的查询。查询的结果除了要求能看到平时成绩总的分数外,还要求可以查看每个学生平时成绩的详细情况。因为每个人的平时成绩是由考勤成绩和网上作业成绩组成的,所以在详细情况中需要考勤情况和网上作业情况。
4.1教师查询
图4.1教师查询流程图
本系统是计算机希网站中的一个子系统,所以它是和别的系统有联系的。比如用户登陆系统。当教师登陆后,点击成绩查询就会进入教师查询界面,如下:
图4.2 教师查询界面
每个教师所教的所有专业会在下拉列表中出现,教师在下拉列表中选择想要查询的专业后,再点击查询按钮后就可以查看出全体学生的平时成绩。
在form中输入action=”teacher_chaxun_answer.php”实现查询按钮的功能。teacher_chaxun_answer.php是全体学生平时成绩页面的名称。这样在下拉列表中选择所要查询的专业后,然后点击查询按钮后就能进人全体学生平时成绩的界面。
下面介绍全体学生的平时成绩界面:
图4.3 平时成绩界面
在全体学生平时成绩界面调用调用SQL语句从数据库中取出要显示的数据放入数据集,然后绑定数据集,这时我们就可以从数据集中取出我们想要的自断了。
有时我们并不会将所有的数据都记录在同一个数据表中,而会依每种数据内容的特性,将它分别记录在不同的数据表中。但是有时我们在分析某些数据时,却必须同时使用到这两个不同的数据表来处理,有什么办法可以将它们结合在一起呢?在SQL语法中若是要结合一个以上的数据表,必须在这些数据表中拥有一个相同的字段,即可以使用这个字段的纪录将不同的数据表关联起来,语法如下:
SELECT<数据表名称.字段>,<数据表名称.字段>,…….
FROM<数据表名称1>INNER JOIN<数据表名称2 >
ON<数据表名称1.字段名称>=<数据表名称2.字段>
进入这个页面要显示学生的学号、姓名、专业、网上作业分数、考勤分数和总分。这些字段从两张表中取得,一个是考勤信息表,另一个是教师发布作业表。这两个表都有学号这个字段,所以通过学号字段将两个表连接起来,连接情况如下:
图4.4表连接
所使用的MySQL语句如下:
以目前的设定若是预览,只会读出数据库中的第一笔数据。如果要显示数据库中的所有数据,我加入了以下代码:
mysql_fetch_assoc函数的功能是从结果集中取得一行作为关联数组。
要看每个学生成绩的详细情况,我设计的是点击每个学生的学号进入详细界面,然后可以看到学生成绩的详细情况。实现这个功能的代码如下:
点击学生的学号可以查看每个学生成绩的详细情况。详细界面如下:
图4.5 详细界面
进入这个页面要显示学生的学号、姓名、专业、出勤次数、缺勤次数、作业明、作业分数。这些字段都不在一个表中,得从两个表中获得,这两个表的连接如下:
所使用的SQL语句如下:
在这个界面调用SQL语句从数据库中取出要显示的数据放入数据集,然后绑定数据集,在HTML中加入以上代码,在表格中加入要显示的字段。