康瑞 李果 张萌 天津职业技术师范大学
笔者以山西师范大学教育技术学专业的本科学生为调查对象,采用问卷的形式针对是否参加过中小学教师资格考试进行调查。共收到145份有效问卷,其中40%的学生已参加考试,60%的学生还未参加。参与过考试的学生中有84.48%的学生认为需要一款练习题库,有89.66%的学生愿意使用网站进行练习。因此,笔者以《信息技术学科知识与教学能力》为主要内容基于网站开发了一款题库,实现资源的数字化,以帮助学生通过考试。
1.前台用户界面的总体结构(如图1)
图1 前台用户界面的总体结构
快速练习:能够动态从后台数据库中随机抽取题目供用户练习;
能够根据用户的备考时间不同,自动呈现合适的题量;
提交答案之后能给出得分;
能够呈现所有题目的解析。
历年真题:拥有多套真题;
提交答案后需要给出得分;
能够呈现所有题目的解析;
能够计时考试,时间截止后自动提交试卷。
题目检索:遇到不会的题目可以直接在题库中进行检索,提高信息的可靠性,减少没有必要的时间耗费,如若没有检索到相关内容,可以选择在题库中加入。
资料包:帮助用户在做题前理解相关知识点;
提供视频课程以及精选知识点。
面试题目:在考试后期,提供面试题目,帮助用户了解考试内容和一些相关流程。
2.网站题库题目的来源
中小学教师资格考试并没有指定的教材,因此历年真题具有很高的参考价值,所以,笔者将近六年的真题以及一些模拟题、预测题录入题库中以方便用户进行练习。
3.主要模块设计与实现
(1)用户登录注册
注册页面包括用户名、设置密码和确认密码三个输入框。注册时需要规范输入信息,如果不符合要求,网站就会根据有误的信息弹出“错误:该用户名已存在”“错误:密码长度不符合,请重新填写”“注册失败,请重新填写”“密码不一致,返回重试”的提示。注册界面的信息插入到数据表的相关代码如图2所示。在注册成功后,页面会直接跳转到登录页面。
图2 用户信息输入数据库
(2)快速练习
在登录成功后,网站直接跳转到“快速练习”页面。网站默认在数据库中抽取15道题进行练习。用户可以根据自己备考时间的不同,在左上方的输入框中输入备考时间,后台会根据提交的数字使用for循环语句返回一定数量的题目,以满足不同用户的个性化需要。当题目返回后,用户可以直接在网站上进行作答,“提交”后会显示得分,点击“解析”可以查看题目的答案,并对错题进行标红处理。
(3)题目检索
检索功能可以帮助用户快速查找到那些有模糊记忆但又未能掌握的题目。实现这个功能可以使用SQL语句的like进行模糊检索,找到含有该关键词的题目并进行输出。
4.后台数据库的搭建
(1)数据库的作用和选择
数据库可以存储记录网站数据,如用户的用户名、密码、题目等内容。WampServer是一款带有服务器的动态网站开发工具,功能多,可视化程度好,可以在64位的配置环境下运行,因此笔者选择该工具开发平台。
(2)用户信息数据表register
数据表共有四个字段(如图3),其中id设为主键并进行自动编号,username设为唯一值,不可重复,避免用户名重复导致数据混乱,password、pwd两个字段是用来保证用户在注册时输入的两次密码是一致的。此数据表用来存放用户的注册信息,方便在登录时进行身份验证。管理者可以通过后台自行删除一些用户信息。
图3 register数据表的字段
(3)题库信息数据表collection
collection数据表包含11个字段,如图4所示。这些字段用来存储题的编号、内容以及解析。该数据表主要用于在“快速练习”以及“题目搜索”模块返回题目数据,这样方便随时往数据库中添加,并且不需要改动前端代码,减少了后期维护网站的工序。
图4 collection数据表的字段
(4)数据库的连接
数据表需要与前端网页建立连接,才能将数据返回网页呈现。因此,要在用户注册、登录、快速练习和题目检索的代码模块间建立连接。本网站将数据库接口的代码写在了PHP文件中,涉及数据库连接的网页只需要在该网站代码的PHP语句中写入“include("conn.php");
”就可以连接到数据库,连接数据库的代码如下页图5所示。
图5 连接数据库的代码
问题一:根据用户需要动态返回题目及其答案
在快速练习模块,网站要根据输入框中提交的数字返回不同的题量,以满足不同用户备考的需求。因为数字是前端提交过来的,所以PHP代码中需要有一个变量days接受前端传递的数值,然后用题库的题量除以天数就等于每日用户需要完成的练习。接着,借助for循环语句将数据库的数据输出,具体代码如下页图6所示。需要注意的是,代码中不同题的name属性需要进行区分,以保证每道题的选项不干扰;
同一题的name属性需要统一,以保证用户只可以选择一个选项进行提交。数组$row是存放数据库中的返回值,使其在前端一行行显示。
图6 for循环语句
问题二:试卷重复提交
在开发过程中遇到如下问题:用户提前提交试卷后,继续停留在这个网页,当倒计时为0时,试卷会被再次提交。简单来说,用户提前交卷会导致试卷重复提交。
针对这一问题,笔者对提交试卷的情况进行假设:①用户自己提前交卷;
②倒计时结束网页自动提交。这两种情况只能发生其中一种才能保证试卷只提交一次,要判断两种情况是否发生最直接的办法就是判断是否提交了试卷。因此,笔者在JavaScript的代码中设置了一个变量issubmit,并赋给它初始值false,只有倒计时变量times为0并且issubmit为false时,网页才会自动点击“提交”按钮以交卷。但如果用户自己提前提交,则赋给issubmit值true,这样就保证试卷自动提交的条件无法满足。通过这个变量值的判断就可以使试卷只提交一次,以达到预期效果。
问题三:解析的隐藏与显示
点击“解析”按钮需要将题目的解析呈现出来,因此在未点击时需要将其属性隐藏,即把display属性设置为none;
在点击按钮后,利用JavaScript执行函数,读取name为demo的标签,并设置其display为block使其显示出来。具体代码如图7所示。
图7 使“解析”显示的JavaScript代码
本网站满足了用户的个性化需求,增强了用户学习的动力,引导他们主动地参与到备考环节。另一创新就是在题库系统中添加了搜索的功能。互联网快速发展,网络上的信息良莠不齐,检索者需要在众多信息中进行筛选,这会浪费大量的时间,因此在题库网站中添加搜索功能可以为用户节约大量时间。
猜你喜欢题库数据表代码“勾股定理”优题库中学生数理化·七年级数学人教版(2021年3期)2021-07-22“轴对称”优题库中学生数理化·七年级数学人教版(2020年10期)2020-11-26湖北省新冠肺炎疫情数据表党员生活(2020年2期)2020-04-17“轴对称”优题库中学生数理化·七年级数学人教版(2019年10期)2019-11-25“整式的乘法与因式分解”优题库中学生数理化·八年级数学人教版(2019年11期)2019-09-10基于列控工程数据表建立线路拓扑关系的研究铁道通信信号(2018年10期)2018-12-06创世代码动漫星空(2018年11期)2018-10-26创世代码动漫星空(2018年2期)2018-10-26创世代码动漫星空(2018年9期)2018-10-26创世代码动漫星空(2018年5期)2018-10-26