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中文字符串截取函数
Nov 12 PHP
php 伪静态之IIS篇
Jun 02 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
php从数据库查询结果生成树形列表的方法
Apr 17 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
php接口实现拖拽排序功能
Apr 23 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
PHP实现财务审核通过后返现金额到客户的功能
Jul 04 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
is_file和file_exists效率比较
Mar 14 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
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
JavaScript资源预加载组件和滑屏组件的使用推荐
2016/03/10 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
js实现缓动动画
2020/11/25 Javascript
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
MySQL最常见的操作语句小结
2015/05/07 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
Python环境变量设置方法
2016/08/28 Python
快速解决pandas.read_csv()乱码的问题
2018/06/15 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
Django admin禁用编辑链接和添加删除操作详解
2019/11/15 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
Python可以实现栈的结构吗
2020/05/27 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
HTML5文档结构标签
2017/04/21 HTML / CSS
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
amazeui 验证按钮扩展的实现
2020/08/21 HTML / CSS
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
后勤园长自我鉴定
2013/10/17 职场文书
个人查摆剖析材料
2014/02/04 职场文书
个人优缺点总结
2015/02/28 职场文书
雷锋之歌观后感
2015/06/10 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书