English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

請問有人可幫忙看一下這2個php內容那邊有問題嗎? 答完題送出後會出現未完成作答 謝謝 (書上範例)
---------------產生題目------------
//以下將取出資料表內的題目
$link_ID = mysql_connect(\"localhost\",\"root\");
//連接mysql伺服器
mysql_select_db(\"class\"); //指定使用class資料庫
//以rand函數取得亂數值,以產生題目
for ($i=1; $i<=10; $i++){
$a[$i]=$i;
};
//產生20個$a陣列值,以符合資料庫中有20道題目
for ($i=1;$i<=5;){
//此迴圈用以產生5道題目
$chcNum = rand(1, 10);
//取得1到20(含)之間的亂數值
if ($a[$chcNum]!=0){
//如果if判斷式的條件成立,則執行以下的程式碼
$str = \"SELECT * FROM exam
WHERE qid=\'$a[$chcNum]\';\";
//建立查詢字串$str,選取所有欄位
//篩選條件為$a[$chcNum]值必須同資料表內的qid題號
$result = mysql_query($str,$link_ID);
//送出查詢字串,並將結果放入$result
$arr[$i] = mysql_fetch_array($result, MYSQL_BOTH);
//查詢結果的記錄筆數
$i++;
$a[$chcNum]=0;
//重設$a[$chcNum]的值,以避免產生相同的題號
};
};
mysql_close($link_ID); //關閉與資料庫的連接
?>


//設定迴圈,執行一次即印出一道題目?>
.




]\"
value=\"\">

]\"
value=\"\">







----------------送出比對----------
if (!empty($rdoQ)):
//判斷是否取得表單資料,若有則比對答案
$rightans = 0;
//-----比對資料庫的正確答案------
$link_ID = mysql_connect(\"localhost\",\"root\");
//連接mysql伺服器
mysql_select_db(\"class\"); //指定使用class資料庫
for ($i=1; $i<=5; $i++){
//設定迴圈,執行一次即取出那一題的答案
$str = \"SELECT qus, ans FROM exam
WHERE qid=\'$txt[$i]\';\";
//建立查詢字串$str,選取qid的ans欄位
$result = mysql_query($str,$link_ID);
//送出查詢字串,並將結果放入$result
$arr[$i] = mysql_fetch_array($result, MYSQL_BOTH);
//查詢結果的記錄筆數

if ($arr[$i][\'ans\'] == $rdoQ[$i]-1):
// 判斷答案是否相符,若相符則執行下面的程式碼
$rightans = $rightans + 1; ?>

題您答




題您答




答案是[
]


mysql_close($link_ID); //關閉與資料庫的連接
?>

五題中您共答對了


要不要再來一次?


對不起,您尚未作答
請完成作答

2006-07-19 19:41:07 · 0 個解答 · 發問者 Anonymous in 電腦與網際網路 程式設計

謝謝這位大大的解答
但是還有一點點疑問 我在主機的設定檔php.ini中,找不到register_global

我有在產生題目跟比對的網頁最面加入$rdoQ=$_POST['rdoQ'];然後可以送出了 可是變成 就算我答案是對的 它也會說 這題答錯了 然後正確答案也不會出現 @@

不好意思 可以再麻煩教我一下那邊要改嗎@@ 書說的不是很清楚 所以我也搞不太懂.. 謝謝

2006-07-20 18:05:35 · update #1

謝謝我弄好了^^ 謝謝大大的幫忙喔!!!!!!!!! 感恩~~

2006-07-20 22:42:35 · update #2

0 個解答

No answers

fedest.com, questions and answers