php实现答题测试功能,PHP+MySQL实现在线测试答题实例
这个实例主要给大家介绍如何使用jQuery+PHP+MySQL来实现在线测试题,包括动态读取题目,答题完毕后台评分,并返回答题结果。
读取答题列表:
$sql = "select * from quiz order by id asc";
$query = mysql_query($sql);
while ($row = mysql_fetch_array($query)) {
$answers = explode('###', $row['answer']);
$arr[] = array(
'question' => $row['id'] . '、' . $row['question'],
'answers' => $answers
);
}
$json = json_encode($arr);
-
生成答题列表:
-
通过遍历出来的列表,生成答题功能:
$(function(){
$('#quiz-container').jquizzy({
questions: <?php echo $json;?>, //试题信息
sendResultsURL: 'data.php' //结果处理地址
});
});
-
当用户打完题,点击“完成”按钮时,会向ajax.php发送一个Ajax交互请求,ajax.php会根据用户的答题情况,比对正确答案,然后给出用户所得分。
$data = $_REQUEST['an'];
$answers = explode('|',$data);
$an_len = count($answers)-1; //题目数
$sql = "select correct from quiz order by id asc";
$query = mysql_query($sql);
$i = 0;
$score = 0; //初始得分
$q_right = 0; //答对的题数
while($row=mysql_fetch_array($query)){
if($answers[$i]==$row['correct']){
$arr['res'][] = 1;
$q_right += 1;
}else{
$arr['res'][] = 0;
}
$i++;
}
$arr['score'] = round(($q_right/$an_len)*100); //总得分
echo json_encode($arr);
-
quiz表结构:
CREATE TABLE IF NOT EXISTS `quiz` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`question` varchar(100) NOT NULL,
`answer` varchar(500) NOT NULL,
`correct` tinyint(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
--
-- 转存表中的数据 `quiz`
--
INSERT INTO `quiz` (`id`, `question`, `answer`, `correct`) VALUES
(1, '罗马帝国曾一度辉煌,令人神往,故有“条条大陆通罗马”一说。那么,今天你是怎样理解这一谚语的准确含义的?', 'A.入乡随俗 ###B.四通八达 ###C.殊途同归 ###D.流连忘返', 3),
(2, '找出不同类的一项:', 'A.斑马 ###B.军马 ###C.赛马 ###D.骏马 ###E.驸马', 5),
(3, ' 蜡烛在空气中燃烧,蜡烛质量逐渐变小。这说明', 'A.物质可以自生自灭###B.发生的不是化学变化###C.不遵守质量守恒定律###D.生成物为气体,散发到空气中了', 4),
(4, '以下哪位歌手没有获得过《我是歌手》总冠军?', 'A.羽泉###B.韩磊###C.邓紫棋###D.韩红', 3),
(5, '下列哪个标签不是HTML5中的新标签?', 'A.###B.###C.###D.', 4);
php实现答题测试功能,PHP+MySQL实现在线测试答题实例相关推荐
- mysql第五章 在线测试_PHP+MySQL实现在线测试答题示例
[相关学习推荐:jQuery教程,php编程(视频),mysql教程] 这个实例主要给大家介绍如何使用jQuery+PHP+MySQL来实现在线测试题,包括动态读取题目,答题完毕后台评分,并返回答题结 ...
- html5 页面答题算分,JavaScript实现答题评分功能页面
本文实例为大家分享了JavaScript实现答题评分功能的具体代码,供大家参考,具体内容如下 效果图 直接上代码 HTML部分 JavaScript实现一个在线做题测试网页 在线答题 测试已开始,请开 ...
- 如何测试网站服务器mysql数据库连接,如何测试网站服务器mysql数据库
如何测试网站服务器mysql数据库 内容精选 换一换 您可根据业务需要,参考下载全量备份文件,并通过备份文件进行本地存储备份或者恢复数据.备份文件不支持恢复到本地为Windows操作系统的数据库.由于 ...
- php pdo 与对比mysql,php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例...
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例 本文实例讲述了php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率.分享给大家供大家参考,具体如下: ...
- 基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html)
基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse ...
- Fluke OTDR新增SmartLoop双向测试功能
通信仪表公司Fluke网络日前为其OptiFiber Pro OTDR产品增加SmartLoop双向测试功能,从而可以支持在一端同时测试双向两根光纤的故障. SmartLoop双向测试功能基于Fluk ...
- python数据库模块_十二、Python高级功能之Mysql数据库模块
Python高级功能之Mysql数据库模块 安装python mysql组件 # yum -y install MySQL-python.x86_64 以下根据实例来说明: >>> ...
- 测试功能范围_IT8511+电子负载 OCP?测试功能
IT8511+电子负载 OCP 测试功能 IT8500+系列电子负载具有过电流保护(OCP)测试功能,在 OCP 测试模式下,当输入电压达到 Von 值时,延时一段时间,电流开始工作,每隔一定时间按步 ...
- VS2010测试功能之旅:编码的UI测试(6)- 提高UI测试稳定性的8个方法(下)
VS2010测试功能之旅 --编码的UI测试系列之六:提高UI测试稳定性的8个方法(下) RealZhao,2011年5月11日 回顾 在之前,我们介绍了提高UI测试稳定性的8个方法的前6个,接下来介 ...
- VS 2010 测试功能学习(八) - RnP与Coded UI测试(继续篇)
题外话:CSDN博客不能上传图 片已经有一周多了,以前的博客内容中的图片仍然是"图片审核中..."状态,没关系,咱是中国网民,咱最大的优点就是能忍!图片不能传,咱继续发文字内容 的 ...
最新文章
- Microsoft 服务器产品端口
- js bom window对象
- html左侧分级导航,jquery实现无限分级横向导航菜单的方法
- 2021-03-29 PE条件(自适应、参数辨识、数据驱动常常涉及)
- C语言试题汇总200例目录
- 发生身份验证错误_Python MySQL8.0 错误
- dedecms 在模板里引入php文件夹,dedecms如何添加并引入php文件
- 【转】POSIX 是什么?让我们听听 Richard Stallman 的诠释 | Linux 中国
- 弹性布局(Flex)布局介绍
- 基于spring boot的宠物医院管理系统(完美运行、数据库源代码、可远程调试、包含实验报告)
- Android NDK开发(一)环境搭建及运行示例
- win8.1中文版开启远程桌面
- 怎么旋转PDF文件中的页面
- AD软件画电路图笔记
- win11系统512g怎么分盘合理?
- 一头 一头百兆全双工 自动协商 测试
- @kubernetes(k8s) 应用配置管理(ConfigMap、subPath、Secret)
- 六轴机械臂的IK (腕姿态部分) | 机械臂运动学笔记(四)
- google mapView 用法
- 使用阿里云搭建个人博客