У меня есть 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.
Примечание: Неопределенный индекс: выберите в C:\xampp\htdocs\SSF\1B results.php в строке 33. Вы правильно ответили на 0 из 1 вопросов!
Код
$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!';
?>