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学习之数组的定义和填充
Apr 17 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
symfony表单与页面实现技巧
Jan 26 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
Laravel如何使用Redis共享Session
Feb 23 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
PHP+MySQL实现在线测试答题实例
Jan 02 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
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
利用jquery动画特效和css打造的侧边弹出垂直导航
2014/04/04 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
JavaScript事件委托用法分析
2015/01/24 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
python实现无证书加密解密实例
2014/10/27 Python
Python切换pip安装源的方法详解
2016/11/18 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
Python实现FM算法解析
2019/06/18 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
生物医学工程专业学生求职信范文分享
2013/12/14 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
手术室消毒隔离制度
2015/08/05 职场文书