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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- jQuery結合PHP+MySQL實現二級聯動下拉選單[例項]jQueryPHPMySql
- Kafka效能測試例項Kafka
- 測試框架 Mocha 例項教程框架
- Jmeter介面測試例項-牛刀小試JMeter
- 線上試題答題考試系統專案開發搭建原始碼原始碼
- [Android]單元測試例項Android
- 效能測試準備工作例項
- 寫Cache快取物件測試例項快取物件
- 表格實現標題合併程式碼例項
- PHP+Mysql統計檔案下載次數例項PHPMySql
- 【Java】跳躍表的實現以及用例測試Java
- 測試驅動開發(TDD)例項演示
- FreeSWITCH測試撥號規則例項
- mysql單例項壓力測試在青雲MySql單例
- 雲巴-JavaScript API測試與例項(新)JavaScriptAPI
- SQL使用繫結變數,測試例項。SQL變數
- 測試用例最佳實踐
- 大型專案裡Flutter測試應用例項整合測試深度使用Flutter
- websocket線上測試Web
- 實現網頁標題跳動效果程式碼例項網頁
- Flex ASM自動重定位ASM例項測試FlexASM
- loadrunner負載測試例項(含步驟)負載
- 使用Tensorflow實現的基於LSTM的預測例項
- 簡單兩步實現學堂線上刷課軟體的使用自動答題
- [android]android自動化測試十之單元測試例項Android
- 測試面試-測試用例面試
- Halcon缺陷檢測例項轉OpenCV實現(二) PCB印刷缺陷檢測OpenCV
- 線上腦圖測試用例管理平臺求推薦~
- 如何實現介面異常場景測試?測試方法探索與測試工具實現
- APP專項測試實戰1APP
- css實現梯形程式碼例項CSS
- js實現的網頁標題閃動程式碼例項JS網頁
- websocket線上測試工具Web
- Halcon缺陷檢測例項轉OpenCV實現(三) 物體凸缺陷檢測OpenCV
- 自動化測試實戰技巧:「用例失敗重試機制」實現方案分享
- Nginx 反向代理實現線上測試環境(微信開發類專案)Nginx
- JavaScript實現線上websocket WSS測試工具 -toolfk程式設計師工具網JavaScriptWeb程式設計師
- 測試用例