这个实例主要给大家介绍如何使用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实现在线测试答题实例相关推荐

  1. mysql第五章 在线测试_PHP+MySQL实现在线测试答题示例

    [相关学习推荐:jQuery教程,php编程(视频),mysql教程] 这个实例主要给大家介绍如何使用jQuery+PHP+MySQL来实现在线测试题,包括动态读取题目,答题完毕后台评分,并返回答题结 ...

  2. html5 页面答题算分,JavaScript实现答题评分功能页面

    本文实例为大家分享了JavaScript实现答题评分功能的具体代码,供大家参考,具体内容如下 效果图 直接上代码 HTML部分 JavaScript实现一个在线做题测试网页 在线答题 测试已开始,请开 ...

  3. 如何测试网站服务器mysql数据库连接,如何测试网站服务器mysql数据库

    如何测试网站服务器mysql数据库 内容精选 换一换 您可根据业务需要,参考下载全量备份文件,并通过备份文件进行本地存储备份或者恢复数据.备份文件不支持恢复到本地为Windows操作系统的数据库.由于 ...

  4. php pdo 与对比mysql,php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例...

    php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例 本文实例讲述了php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率.分享给大家供大家参考,具体如下: ...

  5. 基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html)

    基于javaweb的在线考试系统(单选,多选,判断,填空,简答题)(java+springboot+ssm+mysql+html) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse ...

  6. Fluke OTDR新增SmartLoop双向测试功能

    通信仪表公司Fluke网络日前为其OptiFiber Pro OTDR产品增加SmartLoop双向测试功能,从而可以支持在一端同时测试双向两根光纤的故障. SmartLoop双向测试功能基于Fluk ...

  7. python数据库模块_十二、Python高级功能之Mysql数据库模块

    Python高级功能之Mysql数据库模块 安装python mysql组件 # yum -y install MySQL-python.x86_64 以下根据实例来说明: >>> ...

  8. 测试功能范围_IT8511+电子负载 OCP?测试功能

    IT8511+电子负载 OCP 测试功能 IT8500+系列电子负载具有过电流保护(OCP)测试功能,在 OCP 测试模式下,当输入电压达到 Von 值时,延时一段时间,电流开始工作,每隔一定时间按步 ...

  9. VS2010测试功能之旅:编码的UI测试(6)- 提高UI测试稳定性的8个方法(下)

    VS2010测试功能之旅 --编码的UI测试系列之六:提高UI测试稳定性的8个方法(下) RealZhao,2011年5月11日 回顾 在之前,我们介绍了提高UI测试稳定性的8个方法的前6个,接下来介 ...

  10. VS 2010 测试功能学习(八) - RnP与Coded UI测试(继续篇)

    题外话:CSDN博客不能上传图 片已经有一周多了,以前的博客内容中的图片仍然是"图片审核中..."状态,没关系,咱是中国网民,咱最大的优点就是能忍!图片不能传,咱继续发文字内容 的 ...

最新文章

  1. Microsoft 服务器产品端口
  2. js bom window对象
  3. html左侧分级导航,jquery实现无限分级横向导航菜单的方法
  4. 2021-03-29 PE条件(自适应、参数辨识、数据驱动常常涉及)
  5. C语言试题汇总200例目录
  6. 发生身份验证错误_Python MySQL8.0 错误
  7. dedecms 在模板里引入php文件夹,dedecms如何添加并引入php文件
  8. 【转】POSIX 是什么?让我们听听 Richard Stallman 的诠释 | Linux 中国
  9. 弹性布局(Flex)布局介绍
  10. 基于spring boot的宠物医院管理系统(完美运行、数据库源代码、可远程调试、包含实验报告)
  11. Android NDK开发(一)环境搭建及运行示例
  12. win8.1中文版开启远程桌面
  13. 怎么旋转PDF文件中的页面
  14. AD软件画电路图笔记
  15. win11系统512g怎么分盘合理?
  16. 一头 一头百兆全双工 自动协商 测试
  17. @kubernetes(k8s) 应用配置管理(ConfigMap、subPath、Secret)
  18. 六轴机械臂的IK (腕姿态部分) | 机械臂运动学笔记(四)
  19. google mapView 用法
  20. 使用阿里云搭建个人博客

热门文章

  1. 同窗情【之一】(词21首)
  2. 蚂蚁金服 mPaaS 模块化开发与架构重构深度解析
  3. Chromium浏览器扩展JS对象方法
  4. Python爬虫进阶--js逆向 | 某某云加速参数加密分析
  5. 如何在国外做好自然科学研究-2
  6. 如何重新设置Windows10密码
  7. 9步搞定:用迅雷等工具下载百度网盘资源
  8. 找工作时单位普遍要求 35 岁以下,那 35 岁以上的人都干嘛去了?
  9. 20155201李卓雯 20155212江振思 20155313杨瀚《信息安全技术》 实验三 数字证书应用...
  10. php没有错误信息,php – 如何调试没有错误信息的错误?