基于php+mysql的成绩查询系统设计与实现(全套源码+配套论文)
大家好,今天给大家介绍基于php+mysql的成绩查询系统设计与实现,更多精选毕业设计项目实例见文末哦。
文章目录:
1、项目简介
- 本系统就是为了方便老师和同学查看平时成绩而编写的,它具有快速、准确、方便的特点。本系统是学校WEB站点的一个子系统,具有很好的外部接口,能够很好的配合站点的其它子系统服务于学校的成绩管理。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:7096个字25页
包含内容:整套源码+完整毕业论文+答辩PPT
很多同学询问怎么下载开题报告、论文答辩、课题报告等ppt模板,给大家找了个好用的下载工具,可以试试:
3、关键词
LAMP 查询 平时成绩 php4、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于php+mysql的成绩查询系统设计与实现(源码+文档)_php_mysql_成绩查询系统.zip |
5、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
第一章 引言
省略
随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任。另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页。
1.1 PHP简介:
PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。
PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。怎样在Windows环境的PC机器或Unix机器上安装PHP的资料可以在PHP官方站点上找到。安装过程很简单。
1.2 PHP的先进之处
应用PHP有许多好处。当然已知的不利之处在于PHP由于是开放源码项目,没有什么商业支持,并且由此而带来的执行速度缓慢(直到PHP4之前)。但是PHP的邮件列表很是有用而且除非你正在运行像Yahoo!或者Amazon.com这样的极受欢迎的站点,你不会感觉出PHP的速度与其他的有什么不同。最起码我就没有感觉出来!好了,让我们来看看PHP有那些优点:
①学习过程
PHP的学习过程非常简单。与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。
PHP的语法与C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。
你只需要30分钟就可以将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。
②数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
③可扩展性
就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。
④面向对象编程
PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。
④可伸缩性
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。
⑤更多特点
PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用PHP连接包括Oracle,MS-Access,Mysql在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!
1.3 MySQL数据库简介
MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用.
体来说,MySQL数据库具有以下主要特点:
- 同时访问数据库的用户数量不受限制;
- 可以保存超过50,000,000条记录;
- 是目前市场上现有产品中运行速度最快的数据库系统;
- 用户权限设置简单、有效。
如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把MySQL作为其数据库管理系统,这就更加证明了MySQL数据库的优越性能和广阔的市场发展前景。
1.4PHP连接MySQL数据库
$dbh = mysql_connect(\' \',\'您的用户名\',\'您的密码\'); (如果用域名无法联结,可以用LOCALHOST)
mysql_select_db(\'数据库名\');
$query = \"insert into requests(date, request, email, priority,status) values (NOW(),\'$description\', \'$email\', \'$priority\',
\'NEW\')\";
$res = mysql_query($query, $dbh);
$query = \"select max(id) from requests\";
$res = mysql_query($query, $dbh);
$err = mysql_error();
if($err){
echo \
}
$row = mysql_fetch_row($res);
echo \"未来您使用的号码为: \".$row[0];
?>
1.4 Apache简介
Apache是根据NCSA的服务器发展而来的,NCSA是最早出现的Web服务器程序之一,由伊利诺斯大学Urbana-Champaign分校的美国国家超级计算应用中心开发。在发展初期,Apache主要是一个基于UNIX系统的服务器,它的宗旨就是建成一个基于UNIX系统的、功能更强、效率更高并且速度更快的WWW服务器,这就决定了它是从其他的服务器演变而来的,并且添加了大量补丁来增强它在某一方面的性能,所以它就被命名为“APAtCHy Server(一个补丁组成的服务器)”。
1.5 Linux简介
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
第二章 需求分析
需求分析大致可分为三步来完成,即需求信息的收集、分析整理和评审通过。
㈠需求信息的收集
公共课平时成绩查询系统要涉及到平时成绩的信息、老师和学生的基本信息和租借过程中的具体操作。
平时成绩的基本信息:平时成绩的组成(考勤成绩和网上作业成绩)、
详细信息(出勤次数、缺勤次数、网上作业提交情况、作业成绩情况)
老师和学生的基本信息:教师编号、所教专业、年级、学号、专业等。
基本操作信息:查询
㈡分析整理
⒈调查的目的
首先,要了解平时成绩查询工作的工作流程。其次,要确定设计的目标,大致管理流程和任务范围划分。
因此,平时成绩查询系统主要是通过对现在实际教学中成绩查询工作的调查、研究,并且通过和老师同学的交流来完善的。
调查的内容
了解公共课平时成绩查询系统的作用、现状、存在的问题,及是否适应计算机管理。
⒉调查方式
通过对老师和同学的访问、交谈可获得成绩查询的需求,以及成绩查询的管理目标。
并且,还可通过具体的查询工作对查询有一个更深的了解。
㈢评审通过
⒈任务概述
目标
将老师和同学共同操作的成绩查询工作转为老师和同学跟计算机系统共同完成
操作,提高成绩查询效率,节省查询时间,降低人的工作强度。
⒉数据描述
数据库描述
数据库作为公共课平时成绩查询系统的基础之一,主要是完成对平时成绩数据的存储,并且通过计算机来快速的查询成绩,辅助教师和学生快速准确的完成成绩的查询工作。
数据采集
基础数据从网站的另外两个系统(考勤系统和网上作业系统)取得。
⒊功能需求
公共课平时成绩查询系统主要实现对公共课平时成绩的查询功能,教师能察看所教专业的全体学生的成绩,一般学生能查看自己的平时成绩。并通过扩展功能是教师和同学都可以查看平时成绩的详细情况。例如考勤的详细情况和网上作业的详细情况。
⒋运行要求
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据完好无损,对数据的精确度、时间特性、适应性等都有一定要求,要求系统运行时能够保证正确性、可靠性、高效性、完整性、易使用性、可维护性、可测试性、复用性、安全保密性、可移植性、互联性。
第三章 总体设计
在确定了软件需求和进行可行性研究之后,就进入了开发阶段。系统的主要功能与性能指标有了明确的标准,下面详细介绍总体设计的内容。
3.1系统组成
本系统的主要功能是实现查询功能,所以主要模块就一个,查询模块。
下面是系统的模块图:
教师查询:
表3.1教师查询模块表
学生查询:
表3.1学生查询模块表
查询模块的主要功能:实现教师和学生对公共课平时成绩的查询,并且实现查看平时成绩的详细情况。例如考勤情况、网上作业情况。
3.2系统数据库的设计
系统数据库名称:成绩管理数据库
此系统所需要的数据库表有2个,所有表的结构列举如下:
表 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语句如下:
SELECT teacher_fbchengji.suozaiXi, teacher_fbchengji.xuehao, teacher_fbchengji.fenshu, statistic.name, statistic.scores FROM teacher_fbchengji, statistic WHERE teacher_fbchengji.suozaiXi = '%s' AND teacher_fbchengji.xuehao = statistic.num ORDER BY teacher_fbchengji.xuehao ASC"
以目前的设定若是预览,只会读出数据库中的第一笔数据。如果要显示数据库中的所有数据,我加入了以下代码:
<?php do { ?>
<tr>
<td height="30"><a href="teacher_chaxun_detail.php?recordID=<?php echo $row_Recordset1['xuehao']; ?>"><?php echo $row_Recordset1['xuehao']; ?></a></td>
<td><?php echo $row_Recordset1['suozaiXi']; ?> </a> </td>
<td><?php echo $row_Recordset1['name']; ?></td>
<td><?php echo $row_Recordset1['fenshu']; ?> </td>
<td><?php echo $row_Recordset1['scores']; ?></td>
<td><?php echo $row_Recordset1['fenshu']+$row_Recordset1['scores']; ?> </td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
mysql_fetch_assoc函数的功能是从结果集中取得一行作为关联数组。
要看每个学生成绩的详细情况,我设计的是点击每个学生的学号进入详细界面,然后可以看到学生成绩的详细情况。实现这个功能的代码如下:
recordID=<?php echo $row_Recordset1[‘xuehao’];
点击学生的学号可以查看每个学生成绩的详细情况。详细界面如下:
图4.5 详细界面
进入这个页面要显示学生的学号、姓名、专业、出勤次数、缺勤次数、作业明、作业分数。这些字段都不在一个表中,得从两个表中获得,这两个表的连接如下:
所使用的SQL语句如下:
SELECT * FROM statistic, teacher_fbchengji WHERE num = ‘%s’ AND teacher_fbchengji.xuehao = '%s
<td><?php echo $row_Recordset2['num']; ?></td>
<td><?php echo $row_Recordset2['name']; ?></td>
<td><?php echo $row_Recordset2['pro']; ?></td>
<td><?php echo $row_Recordset2['pre_times']; ?></td>
<td><?php echo $row_Recordset2['absen_times']; ?></td>
<td><?php echo $row_Recordset2['scores']; ?></td>
<td><?php echo $row_Recordset2['teacherName']; ?></td>
<td><?php echo $row_Recordset2['fileTitle']; ?></td>
<td><?php echo $row_Recordset2['fenshu']; ?></td>
在这个界面调用SQL语句从数据库中取出要显示的数据放入数据集,然后绑定数据集,在HTML中加入以上代码,在表格中加入要显示的字段。
4.2 学生查询
图4.6学生查询流程图
当学生用自己的用户名和密码登陆后,点击成绩查询,就会进入成绩查询界面。
图4.7 学生查询界面
在HTML中加入以上语句实现实现查询并跳转到平时成绩界面。
图4.8 平时成绩界面
在这个页面的表格中需要显示学生的学号、姓名、考勤分数、网上作业分数和平时总分数。
与教师的全体学生成绩页面一样,只不过学生的页只显示自己的一个人的记录就可以了,所以不用设置重复选区。其他的和教师的一样,也需要将两个表连接起来,然后从两个表中获取所要的数据。
图4.9表连接
所使用的SQL语句如下:
SELECT teacher_fbchengji.suozaiXi, teacher_fbchengji.xuehao, teacher_fbchengji.fenshu, statistic.name, statistic.scores FROM teacher_fbchengji, statistic WHERE teacher_fbchengji.suozaiXi = ‘%s’ AND teacher_fbchengji.xuehao = statistic.num ORDER BY teacher_fbchengji.xuehao ASC"
然后点击学号进入详细界面:
图4.10 详细界面
加入下面的代码使所有字段都显示出来。
<td><?php echo $row_Recordset2['num']; ?></td>
<td><?php echo $row_Recordset2['name']; ?></td>
<td><?php echo $row_Recordset2['pro']; ?></td>
<td><?php echo $row_Recordset2['pre_times']; ?></td>
<td><?php echo $row_Recordset2['absen_times']; ?></td>
<td><?php echo $row_Recordset2['scores']; ?></td>
<td><?php echo $row_Recordset2['fileTitle']; ?></td>
<td> </td>
<td><?php echo $row_Recordset2['fenshu']; ?></td>
第五章 测试报告
省略
结束语
省略
参考文献
- 网站PHP后台解决方案 余斌 人民邮电出版社
- Dreamwerver互动网站百宝箱for PHP 邓文渊 中国铁道出版社
3.PHP 4.0 与MySQL 动态网站编程 冯燕奎 清华大学出版社
4.PHP&MySQL网站建设宝典 黄经纬 清华大学出版社