999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PHP的在線考試系統的設計與實現

2018-01-17 15:51:10劉超
電子技術與軟件工程 2017年20期

摘 要 本文講述基于PHP的在線考試系統的設計與實現。首先將題目從題庫中抽取出來保存在數組中,然后再對題目數組進行隨機抽題,將抽取的題目保存在每個考生的信息中。在做題的過程中還要將考生的答題情況也保存在考生信息表中。該在線考試系統支持隨機抽題、機器出故障重新換機考試考生的答題信息仍然保留在系統中。

【關鍵詞】PHP 在線考試 隨機抽題

隨著互聯網+時代的到來,教育信息化是大勢所趨。本文講述的在線考試系統支持單選題、多選題、判斷題。能夠隨機抽題,將考試抽取的題目,答題信息保存在考生信息表中。

1 數據庫設計

數據庫名為db_test,其中包含至少7張表,保存單選題的表、保存多選題的表、保存判斷題的表,保存管理員信息的表,保存考生表信息的表(多張表),保存綜合設置信息的表以及班級與表名對應表。關鍵表結構如下:

單選題表用于存放考試題目中的單選題。多選題表用于存放考試題目中的多選題。判斷題表用于存放考試題目中的判斷題。多選題、判斷題表結構與單選題表結構類似。下面僅介紹單選題表結構。單選題表的關鍵字段為:“Id”、“題目”、“標答”、“分值”、“A選項”、“B選項”、“C選項”、“D選項”、“E選項”。

單選題表字段字段意義為:其中“ID”設置為主鍵;“題目”表示考試題目的題干;“A選項”、“B選項”、“C選項”、“D選項”、“E選項”分別是多個單選項,“標答”保存著該題目的標準答案,“分值”保存本題的分值。這些字段均設置為varchar類型。數據庫編碼設置為UTF-8。

考生表是可以新建的,多個班級考試則可以對應多個表。考生表前綴是bj_,用于區分其他表。考生表關鍵字段:“考號”、“姓名”、“密碼”、“交卷時間”、“總分”、“單選題題目”、“單選題答案”、“多選題題目”、“多選題答案”、“判斷題題目”、“判斷題答案”等字段。全部設置為varchar數據類型,考號設置為主鍵。全部編碼設置為utf-8類型。

考生表關鍵字段意義為:“考號”是主鍵,唯一。“姓名”是考生的姓名。“密碼”是考生登錄用的密碼,考生通過輸入班級、輸入考號、輸入密碼進行登錄考試系統。“交卷時間”是指考生應該交卷的時間,不是實際交卷時間,每個考生從登錄開始(每個考生登錄時間會有少許差異)再加上考試規定時長就可以得到應該交卷的時間。因為每個考生登錄時間不相同,中途也可能出現差錯需要補時,因此交卷時間也不一樣。此外“交卷時間”還可以收到二次登錄補時的影響。“單選題題目”只保存該考生抽取的單選題的題號,若保存全部抽取的題目信息,則不利于保存,再顯示考題信息的時候再根據每個考生“單選題題目”中的序號顯示實際單選題。“單選題答案”保存著該考生單選題答題情況。

注意事項:考生在答題過程中是每做一道題都要保存一下的,確保在機器出故障后,考生的答題信息不會受到影響。因此考生表的這些字段這樣設置是必須的。

綜合設置表結構為:“網站名稱”、“總分”、“單選題數量”、“單選題描述”、“單選題分值”、“多選題數量”、“多選題描述”、“多選題分值”、“判斷題數量”、“判斷題描述”、“判斷題分值”、“二次登錄密碼”。全部字段設置為varchar類型,編碼設置為utf-8。

綜合設置表字段意義為:“網站名稱”是指在線考試系統網站的名稱,即顯示的網站標題信息。“總分”是指整個考試題目的分數,一般可以設置為100分。“單選題數量”表示考試題目中有多少道單選題。“單選題描述”一般設置為“本題有五個選項,正確答案只有一個,請選擇正確答案”。“單選題分值”表示每個單選題分數。多選題和判斷題類似,不再表述。“二次登錄密碼”是考生在考生過程中機器出現故障,換一臺機器重新考試需要輸入的密碼,若沒有二次密碼則考生可以惡意多次重新啟動機器。

2 隨機抽題方法(以單選題為例)

先判斷考生表中字段“單選題題目”是否為空(算法為:if (trim($單選題題目)=='')),若為空則表示該考生第一次登錄,還沒有抽取題目,則進行隨機抽題。先得到全部單選題:關鍵代碼為:$result =$mysqli->query("select * from tx_danxuan"); while($r=$result->fetch_row()) $rowradio[] = $r;。然后進行抽題:$radio_key = array_rand($rowradio,$radio_num); $radio_key保存著抽題的序號。再把抽題保存到考生表中,關鍵代碼為:$radio_st = serialize($radio_key)。至此,系統已將單選題全部隨機抽取并放置在該考生的信息表中。

說明:抽題抽取的是題目的序號,保存的也是題目的序號,在考生題目顯示的時候才會根據序號找試題。因為如果將全部抽取的考題放置在考生信息表中,會出現兩大問題:格式問題和容量問題。試題格式不利于保存,試題容量太大不利于保存,只保存抽取題目的序號才是科學的和可行的。

2.1 答題過程

考生答題信息保存在該考生的考生信息表的對應記錄中。以A考生(每個考生的考號是唯一的)做單選題為例,若考生第m題選擇了B選項,則設置數組$answer[$m-1]=B,再將整個數組$answer變成字符串類型后寫入到A考生記錄的“單選題答案”字段。這樣確保每做一道題都保存到數據表。

2.2 評分過程

考生在交卷時,系統進行評分。還是以單選題為例講述評分辦法。具體方法是,系統首先從對應考生記錄中取出“單選題答案”字符串,再使用函數un serialize()轉化為數組,該數組就是該考生單選題的答題情況,可以所抽單選題的標準答案字段進行比對。若單選題答題信息與標答相同則記分。通過循環將全部單選題答題情況進行比對即可統計出單選題分數。多選題和判斷題評分方法與單選題評分方法完全相同。再將三個分數加在一起,并保持到該考生記錄表之總分字段中。

2.3 容錯處理

若電腦在考試過程中出現故障,換電腦進行第二次考試時。考試系統首先比對考生的抽題情況“單選題題目”和答題情況“單選題答案”。若不為空,則可以判斷考生是換機考試,此時無需重新抽題,只需要從該考生的記錄中讀出抽題情況“單選題題目”和答題情況“單選題答案”,并顯示在考試頁面中即可。

3 結語

在考試系統的開發過程中,數據庫的設置以及容錯的考慮是必須的。限于篇幅問題,其他功能的實現在此不再贅述。本在線考試系統在某高校思政課考試中使用五年,效果非常好。

參考文獻

[1]王偉平,賀春雷.PHP+MySQL網站開發入門與提高[M].清華大學出版社,2014(07).

[2]PHP開發實例大全[M].東軟開發聯盟.清華大學出版社,2016(01).

作者簡介

劉超(1982-),男,武漢職業技術學院學院講師。研究方向為軟件技術。

作者單位

武漢職業技術學院計算機技術與軟件工程學院 湖北省武漢市 430074endprint

主站蜘蛛池模板: 亚洲国产成人在线| 国产大片喷水在线在线视频| 久久精品最新免费国产成人| 国产网站免费观看| 久久免费视频6| 成人毛片在线播放| 国产丝袜无码一区二区视频| 久久久国产精品免费视频| 青青操视频免费观看| 成人福利视频网| 国产成人凹凸视频在线| 欧美日本中文| 三上悠亚一区二区| 亚洲精品第一在线观看视频| 91亚瑟视频| 国产丰满大乳无码免费播放| 亚洲床戏一区| 国产成人精品免费视频大全五级| 成年女人18毛片毛片免费| 色偷偷一区| 在线播放精品一区二区啪视频 | 激情综合激情| 亚洲欧美综合在线观看| 亚洲欧州色色免费AV| 久久精品中文字幕免费| 亚洲第一视频网| 五月天在线网站| 精品久久久久无码| 一本一本大道香蕉久在线播放| 国产欧美成人不卡视频| 国产精品 欧美激情 在线播放 | 中文字幕一区二区视频| 国产成人啪视频一区二区三区| 亚洲国产日韩在线成人蜜芽| 亚洲国产清纯| 国产福利影院在线观看| 一本综合久久| 日本高清有码人妻| 9啪在线视频| 日韩精品无码不卡无码| 一级爆乳无码av| 亚洲三级影院| 四虎国产精品永久在线网址| 久久久久九九精品影院| 国产午夜福利片在线观看| 在线观看免费AV网| 女人18毛片久久| 日本精品视频一区二区| 久久婷婷五月综合97色| 69视频国产| 欧美黑人欧美精品刺激| 久久婷婷综合色一区二区| 国产伦精品一区二区三区视频优播 | 欧美亚洲激情| 久久午夜夜伦鲁鲁片不卡| 免费激情网址| 亚洲制服丝袜第一页| 18禁色诱爆乳网站| 最新日本中文字幕| 毛片免费在线视频| 一级高清毛片免费a级高清毛片| 国产99热| 精品国产免费观看| 国产女人在线视频| 国产男人天堂| 欧美午夜在线播放| 欧美亚洲中文精品三区| 69av免费视频| 国产SUV精品一区二区| 日韩高清欧美| 亚洲AV无码一区二区三区牲色| 欧美啪啪一区| 日韩毛片在线播放| 秋霞一区二区三区| 欧美亚洲国产精品第一页| 午夜视频日本| 99九九成人免费视频精品| 一级毛片中文字幕| 成人免费午夜视频| 福利在线不卡一区| 精品国产香蕉在线播出| 伊在人亚洲香蕉精品播放|