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 相关文章推荐
用PHP创建PDF中文文档
Oct 09 PHP
PHP中的正规表达式(二)
Oct 09 PHP
Search File Contents PHP 搜索目录文本内容的代码
Feb 21 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
Jul 18 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
php微信公众号开发之图片回复
Oct 20 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
Yii Framework框架开发微信公众平台示例
Apr 26 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与MySQL开发的8个技巧小结
2010/12/17 PHP
thinkphp实现数组分页示例
2014/04/13 PHP
学习PHP session的传递方式
2016/06/15 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
Joomla框架实现字符串截取的方法示例
2017/07/18 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
2019/10/15 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
Div自动滚动到末尾的代码
2008/10/26 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
jquery的ajax请求全面了解
2013/03/20 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
jquery+html仿翻页相册功能
2016/12/20 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
JavaScript截屏功能的实现代码
2017/07/28 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python学习基础之循环import及import过程
2018/04/22 Python
python中pip的安装与使用教程
2018/08/10 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
项目资料员岗位职责
2013/12/10 职场文书
健康教育评估方案
2014/05/25 职场文书
交通事故协议书范本
2014/11/18 职场文书
2014年招商工作总结
2014/11/22 职场文书
清明扫墓感想
2015/08/11 职场文书
六五普法心得体会2016
2016/01/21 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
Python语言中的数据类型-序列
2022/02/24 Python