【毕业设计之PHP系列】php+sql成绩查询系统(二)

简介: 【毕业设计之PHP系列】php+sql成绩查询系统

3.2系统数据库的设计

系统数据库名称:成绩管理数据库

此系统所需要的数据库表有2个,所有表的结构列举如下:

表 1 学生考勤信息表

image.png

表2 教师发布作业成绩表

image.png

表3 提交作业表

image.png

表4 上传作业表

image.png

以上各表之间的关系如下:


cb1a771d9fa242bcafb513b01021bf23.png


图3.1表间关系


第四章  详细设计

本系统的主要功能是实现公共课平时成绩的查询功能,它又分为教师对所教专业全体学生的查询和每个学生对自己个人平时成绩的查询。查询的结果除了要求能看到平时成绩总的分数外,还要求可以查看每个学生平时成绩的详细情况。因为每个人的平时成绩是由考勤成绩和网上作业成绩组成的,所以在详细情况中需要考勤情况和网上作业情况。


4.1教师查询


923cbcedc1774b5087d5935d3940ce5a.png


图4.1教师查询流程图


本系统是计算机希网站中的一个子系统,所以它是和别的系统有联系的。比如用户登陆系统。当教师登陆后,点击成绩查询就会进入教师查询界面,如下:



1126e8e76179405abd46995f0a12dbe5.png

图4.2 教师查询界面


每个教师所教的所有专业会在下拉列表中出现,教师在下拉列表中选择想要查询的专业后,再点击查询按钮后就可以查看出全体学生的平时成绩。


dcac80c2dd0c4c10a979d5f93d32f3a0.png


在form中输入action=”teacher_chaxun_answer.php”实现查询按钮的功能。teacher_chaxun_answer.php是全体学生平时成绩页面的名称。这样在下拉列表中选择所要查询的专业后,然后点击查询按钮后就能进人全体学生平时成绩的界面。


下面介绍全体学生的平时成绩界面:


47200b45da9d4e00aa7a722eb8f4e0be.png


图4.3 平时成绩界面


在全体学生平时成绩界面调用调用SQL语句从数据库中取出要显示的数据放入数据集,然后绑定数据集,这时我们就可以从数据集中取出我们想要的自断了。


有时我们并不会将所有的数据都记录在同一个数据表中,而会依每种数据内容的特性,将它分别记录在不同的数据表中。但是有时我们在分析某些数据时,却必须同时使用到这两个不同的数据表来处理,有什么办法可以将它们结合在一起呢?在SQL语法中若是要结合一个以上的数据表,必须在这些数据表中拥有一个相同的字段,即可以使用这个字段的纪录将不同的数据表关联起来,语法如下:


SELECT<数据表名称.字段>,<数据表名称.字段>,…….


FROM<数据表名称1>INNER JOIN<数据表名称2 >


ON<数据表名称1.字段名称>=<数据表名称2.字段>


进入这个页面要显示学生的学号、姓名、专业、网上作业分数、考勤分数和总分。这些字段从两张表中取得,一个是考勤信息表,另一个是教师发布作业表。这两个表都有学号这个字段,所以通过学号字段将两个表连接起来,连接情况如下:


3d4cc694158f46e18f81c761461ad18a.png


图4.4表连接


所使用的MySQL语句如下:


ea1d73fa65314464824ccb5e8a55c2fb.png


以目前的设定若是预览,只会读出数据库中的第一笔数据。如果要显示数据库中的所有数据,我加入了以下代码:


a1456c8d9f0b4147a622d7b020e556b3.png


mysql_fetch_assoc函数的功能是从结果集中取得一行作为关联数组。


要看每个学生成绩的详细情况,我设计的是点击每个学生的学号进入详细界面,然后可以看到学生成绩的详细情况。实现这个功能的代码如下:


15a2a9930c0f4a9bb4d9dcb18323d4a0.png


点击学生的学号可以查看每个学生成绩的详细情况。详细界面如下:



dc0e5085fc6a4313a0e27956d571754e.png

图4.5 详细界面


进入这个页面要显示学生的学号、姓名、专业、出勤次数、缺勤次数、作业明、作业分数。这些字段都不在一个表中,得从两个表中获得,这两个表的连接如下:


c7a588b748e145629b7733af25522f07.png


所使用的SQL语句如下:


28a23961c518448b964aad3d82f7662d.png


4b3081cba0f847638a0871c93ba1560b.png


在这个界面调用SQL语句从数据库中取出要显示的数据放入数据集,然后绑定数据集,在HTML中加入以上代码,在表格中加入要显示的字段。


目录
相关文章
|
29天前
|
SQL 安全 数据库
如何在Django中正确使用参数化查询或ORM来避免SQL注入漏洞?
如何在Django中正确使用参数化查询或ORM来避免SQL注入漏洞?
129 77
|
21天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过MongoDB Atlas Data Lake或Apache Drill,可以在Java中使用SQL语法查询MongoDB数据。这两种方法都需要适当的配置和依赖库的支持。希望本文提供的示例和说明能够帮助开发者实现这一目标。
42 17
|
16天前
|
SQL Oracle 关系型数据库
如何在 Oracle 中配置和使用 SQL Profiles 来优化查询性能?
在 Oracle 数据库中,SQL Profiles 是优化查询性能的工具,通过提供额外统计信息帮助生成更有效的执行计划。配置和使用步骤包括:1. 启用自动 SQL 调优;2. 手动创建 SQL Profile,涉及收集、执行调优任务、查看报告及应用建议;3. 验证效果;4. 使用 `DBA_SQL_PROFILES` 视图管理 Profile。
|
23天前
|
SQL Java 数据库连接
【潜意识Java】MyBatis中的动态SQL灵活、高效的数据库查询以及深度总结
本文详细介绍了MyBatis中的动态SQL功能,涵盖其背景、应用场景及实现方式。
78 6
|
2月前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
105 9
|
5月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
7月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
179 13
|
7月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
107 9
|
7月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
93 6
|
7月前
|
存储 SQL C++
对比 SQL Server中的VARCHAR(max) 与VARCHAR(n) 数据类型
【7月更文挑战7天】SQL Server 中的 VARCHAR(max) vs VARCHAR(n): - VARCHAR(n) 存储最多 n 个字符(1-8000),适合短文本。 - VARCHAR(max) 可存储约 21 亿个字符,适合大量文本。 - VARCHAR(n) 在处理小数据时性能更好,空间固定。 - VARCHAR(max) 对于大文本更合适,但可能影响性能。 - 选择取决于数据长度预期和业务需求。
579 1