我有一个带有多项选择题和一个提交按钮的 HTML 页面。提交按钮会导致一个 .php 页面,其中包含以下代码:1)连接到 phpmyadmin 的 sql 数据库和相关表,2)下面的代码告诉/提醒用户它是什么问题编号,实际问题,正确答案(来自数据库)和他们提交的答案。
我的问题是我希望计算一个分数并将其传达给用户,但它不太有效。一条错误消息告诉我以下行不起作用
$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 results.php 第 33 行
注意:未定义的索引:在第 33 行的 C:\xampp\htdocs\SSF\1B results.php 中选择 您正确回答了 1 个问题中的 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!';
?>