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);
生成答題列表:
<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);
本文轉自:
轉載請註明出處!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545264/viewspace-2671749/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kafka效能測試例項Kafka
- 線上試題答題考試系統專案開發搭建原始碼原始碼
- PHP+Mysql查詢上一篇和下一篇文章例項PHPMySql
- 華為部分線上測試題
- Jmeter介面測試例項-牛刀小試JMeter
- PHP+Mysql統計檔案下載次數例項PHPMySql
- python 連線mongodb實現增刪改查例項PythonMongoDB
- FreeSWITCH測試撥號規則例項
- JavaWeb之實現檔案上傳與下載例項JavaWeb
- websocket線上測試Web
- 簡單兩步實現學堂線上刷課軟體的使用自動答題
- 線上腦圖測試用例管理平臺求推薦~
- Halcon缺陷檢測例項轉OpenCV實現(二) PCB印刷缺陷檢測OpenCV
- 線上問題排查例項分析|關於Redis記憶體洩漏Redis記憶體
- 線上問題排查例項分析|關於 Redis 記憶體洩漏Redis記憶體
- 測試驅動開發(TDD)例項演示
- websocket線上測試工具Web
- Halcon缺陷檢測例項轉OpenCV實現(三) 物體凸缺陷檢測OpenCV
- python類例項化如何實現Python
- 【Java】跳躍表的實現以及用例測試Java
- 大型專案裡Flutter測試應用例項整合測試深度使用Flutter
- 測試用例最佳實踐
- JavaScript實現線上websocket WSS測試工具 -toolfk程式設計師工具網JavaScriptWeb程式設計師
- 測試一下:HBase 40道測試題,你能答對幾道
- 無法連線windows例項的問題排查Windows
- React高頻面試題梳理,看看怎麼答?(上)React面試題
- 使用原生js實現選項卡功能例項教程JS
- Vue例項方法之事件的實現Vue事件
- python 單一程式例項 實現Python
- Verilog設計技巧例項及實現
- JWT實現登入認證例項JWT
- 測試右移:線上質量監控 ELK 實戰
- 線上出現bug解決用例
- 第1章 軟體測試概述線上測試
- Nginx 反向代理實現線上測試環境(微信開發類專案)Nginx
- 線上教育平臺開發中,課堂測試功能是如何實現的
- 測試面試-測試用例面試
- LinkIQ線纜網路測試儀基於單項測試方法