【相干学习保举:jQuery教程,php编程(视频),mysql教程】
这个实例次要给各人引见若何应用jQuery+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);
天生答题列表:
<p id='quiz-container'></p>
经过遍历进去的列表,天生答题性能:
$(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培训栏目!
以上就是PHP+MySQL完成正在线测试答题示例的具体内容,更多请存眷资源魔其它相干文章!
标签: php mysql php开发教程 php开发资料 php开发自学 在线测试答题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!