PHP+MySQL实现在线测试答题实例


Posted in PHP onJanuary 02, 2020

这个实例主要给大家介绍如何使用jQuery+PHP+MySQL来实现在线测试题,包括动态读取题目,答题完毕后台评分,并返回答题结果。

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);

生成答题列表:

<div id='quiz-container'></div>

通过遍历出来的列表,生成答题功能:

$(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.<article>###B.<canvas>###C.<section>###D.<sub>', 4);

总结

以上所述是小编给大家介绍的PHP+MySQL实现在线测试答题实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
解析argc argv在php中的应用
Jun 24 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
php中__toString()方法用法示例
Dec 07 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 #PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 #PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
Dec 31 #PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 #PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 #PHP
PHP单元测试配置与使用方法详解
Dec 27 #PHP
PHP全局使用Laravel辅助函数dd
Dec 26 #PHP
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
php教程之phpize使用方法
2014/02/12 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
PHP单元测试框架PHPUnit用法详解
2019/01/23 PHP
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
Javascript变量作用域详解
2013/12/06 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
Python进行数据提取的方法总结
2016/08/22 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python3 assert断言实现原理解析
2020/03/02 Python
django创建超级用户时指定添加其它字段方式
2020/05/14 Python
Pycharm操作Git及GitHub的步骤详解
2020/10/27 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
应届大学生自荐信
2013/12/05 职场文书
写自荐信要注意什么
2013/12/26 职场文书
教师队伍管理制度
2014/01/14 职场文书
校园安全检查制度
2014/02/03 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书