介绍
这篇文章主要介绍了PHP + MySQL实现在线测试答题的案例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
读取答题列表:
$ sql=皊elect * from测试订单的id asc"; 美元$查询=mysql_query (sql); 虽然美元($ result中进行row=mysql_fetch_array查询)){ 美元的答案=爆炸(& # 39;# # # & # 39;,美元行[& # 39;答案# 39;]); 美元arr[]=阵列( & # 39;问题# 39;=比;行美元[& # 39;id # 39;]。& # 39;& # 39;。行美元[& # 39;问题# 39;], & # 39;答案# 39;=比;美元的答案 ); } 美元$ json=json_encode (arr);
生成答题列表:
<代码> & lt; p id=& # 39; quiz-container& # 39;祝辞& lt;/p> 代码>
通过遍历出来的列表,生成答题功能:
$(函数(){ $ (& # 39;# quiz-container& # 39;) .jquizzy ({ 问题:& lt; ?php echo $ json; ?祝辞,//试题信息 sendResultsURL: & # 39; data.php& # 39;//结果处理地址 }); });
当用户打完题,点击”完成“按钮时,会向ajax.php发送一个Ajax交互请求,Ajax。php会根据用户的答题情况,比对正确答案,然后给出用户所得分。
$ data=https://www.yisu.com/zixun/$ _REQUEST['一']; 美元的答案=爆炸(“|”,美元数据); an_len=count($答案)1美元;//题目数 $ sql=把≡裾返牟馐运承虻膇d asc”; 美元$查询=mysql_query (sql); $ i=0; 美元得分=0;//初始得分 美元q_right=0;//答对的题数 虽然美元($ result中进行row=mysql_fetch_array查询)){ 如果答案($ i)==美元行['正确']){ 美元arr [“res”] []=1; 美元q_right +=1; 其他}{ $ arr [“res”] []=0; } 美元我+ +; } 美元arr(“分数”)=圆((q_right/an_len美元)* 100);//总得分 回声json_encode (arr)美元;
测试表结构:
CREATE TABLE如果不存在“测验”( “id”int(11)不是零AUTO_INCREMENT, “问题”varchar(100)非空, “答案”varchar(500)非空, “正确”非常小的整数(2)非空, 主键(“id”) )=MyISAM引擎默认字符集=utf8 AUTO_INCREMENT=6; -- ——转存表中的数据“测验” -- 插入“测验”(“id”,“问题”,“答案”,“正确的”)值 (& # 39;罗马帝国曾一度辉煌,令人神往,故有“条条大陆通罗马”一说。那么,今天你是怎样理解这一谚语的准确含义的? & # 39;,& # 39;A。入乡随俗# # # B。四通八达# # # C。殊途同归# # # d流连忘返& # 39;(3), (2 & # 39;找出不同类的一项:& # 39;,& # 39;A。斑马# # # B。军马# # # C。赛马# # # D。骏马# # #大肠驸马& # 39;(5), (& # 39;蜡烛在空气中燃烧,蜡烛质量逐渐变小。这说明& # 39;,& # 39;a物质可以自生自灭# # # b发生的不是化学变化# # # c不遵守质量守恒定律# # # d生成物为气体,散发到空气中了& # 39;(4), (4日& # 39;以下哪位歌手没有获得过《我是歌手》总冠军? & # 39;,& # 39;a羽泉# # # b .韩磊# # # c·邓紫棋# # # d .韩红& # 39;(3), (5日& # 39;下列哪个标签不是HTML5中的新标签? & # 39;,& # 39;灵活;article> # # # B。你们;canvas> # # # C。你们;section> # # # D。你们;sub> & # 39; (4),
感谢你能够认真阅读完这篇文章,希望小编分享PHP + MySQL实现在线测试答题的案例内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!