本文目錄一覽:
PHP 考試系統怎麼生成隨機試題,求代碼寫法.以選擇題為例說明一下就行,假如從10個裡抽3個,怎麼在提交之
很簡單,給你一個思路
你在數據庫裡面放10個題,
id questions options right_answer
1 china 是指哪個國家? A:中國;B:日本;C:美國 A
… ……………. …………. …
這樣你從數據庫中讀取全部數據出來;
為了實現隨機性,你可以用一個數組
?php
$query=$mysql_query(“select * from ‘表名'”);
$results=$mysql_fetch_row($query);
$rand=array_rand($results,3);//取出隨機的三個問題,注意這裡取得是三個鍵值
$question=array($result[$rand[0]],$result[$rand[1]],$result[$rand[2]]);//將取出的三個問題放進一個數組中
?
form action=”目標地址(此處用本頁面地址)” method=”post”
?php
foreach($question as $values)
{
$options=explode(“;”,$values[‘options’]);//用“;”將選項分割存進數組
echo $values[‘questions’];//顯示題目
for($i=0;$icount($options);$i++){
echo “input type=’radio’ name=”.$choice[$valest[‘id’]].” value=’A’ “.$options[i].” /br”;//輸出選項
}
echo “—————————————-“;//題目之間分隔符
}
//下面的代碼是你接受form表單的頁面,如果是本頁面就直接接着上面的代碼寫
if(!empty($_POST[$choice]))
{
foreach($_POST[$choice] as $key= $data)
{
$question_id=$key;
$user_choice=$data;
if(mysql_query(“select * from ‘表名’ where id=”.$key.”and right_answer='”.$data.”‘”))
{
//答案對如何處理。。。。
}
else
{
//答案不對處理辦法。。。。
}
}
}
?
/form
隨手現寫的代碼,可能你裡面有錯誤,但是思路你可以借鑒下~
php考試系統
如果是我,我會將單選題,複選題,判斷題分成三個文件或數據庫中的三個表一個一”\r\n”分開識別,一個為記錄設置id。然後獲取數據,針對文本的做法:file()獲得記錄。然後使用mt_rand(1,文本中記錄條數)獲得要取出的隨機題目,然後就是輸出咯。針對數據庫:首先獲取數據庫中記錄的條數,mysql_num_rows(),然後mt_rand(1,獲得的條數);然後從數據庫中取出生成的隨機數行,然後也是輸出。對於你的這個問題不是太困難。
然後就是輸出對吧,其實只要你將題目寫入記錄保存到文本或者數據庫的時候加入html標籤就可以了(記住替換換行,空格,然後把括號什麼的換成字符實體。),然後再外面加上form標籤就可以形成一個表單。理論上來說,這個算法是可行的,如果要多個題目也簡單,建立三個數組,分別存儲已經取得的題目的編號,如果題目取出就加入這個題目的編號,再取出其他題目,如果已經取出就在取其他的。我的只有方法,沒有代碼,只提供思路。如果有興趣,加我qq1305167657.不過這一段時間沒法上網——————高考啊。。。。。。高考之後交流。其次。。流量啊
求PHP和MySQL部門考核系統源代碼,最好是基於WEB的
在線模擬考試系統基於PHP+Mysql開發,主要用於搭建模擬考試平台,支持多種題型和展現方式,是國內首款支持題冒題和自動評分與教師評分相結合的PHP開源在線模擬考試系統。使用本系統,您可以快速搭建用於模擬考試的網站平台,實現無紙化考試、真實考場模擬、知識強化練習等功能。可滿足培訓機構、學校、公司等機構各種考試需求。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182926.html