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 相关文章推荐
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
Oct 09 PHP
解析php中var_dump,var_export,print_r三个函数的区别
Jun 21 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
php将mysql数据库整库导出生成sql文件的具体实现
Jan 08 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
Fleaphp常见函数功能与用法示例
Nov 15 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
PHP 计算两个特别大的整数实例代码
May 07 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
goto语法在PHP中的使用教程
Sep 17 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 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
是否存在第一台收音机的说法
2021/03/01 无线电
php smarty的预保留变量总结
2008/12/04 PHP
php随机显示图片的简单示例
2014/02/15 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
浅析return false的正确使用
2013/11/04 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
vue监听键盘事件的相关总结
2021/01/29 Vue.js
JavaScript 绘制饼图的示例
2021/02/19 Javascript
Python中的zip函数使用示例
2015/01/29 Python
Python与Redis的连接教程
2015/04/22 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
技术负责人任命书
2014/06/05 职场文书
春节慰问简报
2015/07/21 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
python基础之文件处理知识总结
2021/05/23 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
SpringBoot 集成短信和邮件 以阿里云短信服务为例
2022/04/22 Java/Android
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python