我有一個HTML頁面,提供了多個選擇題和一個提交按鈕。 Submit按鈕導致一個.php頁面,其中包含以下代碼:1)連接到phpmyadmin的sql數據庫和相關的表格; 2)下面的代碼告訴/提醒用戶它是什麼問題號碼,實際問題,正確的回答(來自數據庫)和他們提交的答案。計算PHP鏈接到數據庫的測驗得分
我的問題是,我想要一個分數來計算和傳達給用戶,它不是很工作。錯誤消息告訴我,下面的行不工作
$answered = $row['select'.$_GET['a'.$x]] ;
我把這個從另一個提問/回答論壇,我不太清楚是什麼完全的狀態,但它似乎是導致該錯誤
數據庫很簡單;僅限Questionid,Questiontext和Correctanswer列。
瀏覽器顯示以下內容:
Question Number: 1
Question: ________ hablo
Correct Answer: Yo
Your Answer: Yo
說明:未定義指數:A2在C:\ XAMPP \ htdocs中\ SSF \ 1B上 線33
通知results.php:未定義索引:選擇C:\ xampp \ htdocs \ SSF \ 1B results.php on line 33您從0個問題中正確地回答了0個問題!
代碼
$result = mysql_query("SELECT * FROM 1b")
or die ('Connection to table failed');
$x = 0;
$score = 0;
while ($row = mysql_fetch_assoc($result)){
echo "Question Number: " . $row['Questionid'] . '<br />';
echo "Question: " . $row['Questiontext'] . '<br />';
echo "Correct Answer: " . $row['Correctanswer'] . '<br />';
foreach ($_GET['select'] as $value)
echo "Your Answer: " . $value."\n" . '<br />';
$answered = $row['select'.$_GET['a'.$x]] ;
$correct = $row['Correctanswer'] ;
if ($answered == $correct) {
$score++;
$acolor = 'green' ;
}
else {
$acolor = 'red' ;
}
$x = $x + 1;
}
echo 'You answered ' . $score . ' out of ' . $x . ' questions correctly!';
?>
我現在明白了。我正在複製變量。我刪除了行$ answers = $ row ['select'。$ _ GET ['a'。$ x]];並將If語句調整爲$ value。現在起作用了。謝謝 – user3163399