У меня есть HTML-страница с несколькими вопросами выбора и кнопкой отправки. Кнопка «Отправить» приводит к странице .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
Примечание: Не определено индекс: а2 в C: \ XAMPP \ HTDOCS \ SSF \ 1B results.php на линии 33
Примечание: Не определено index: select in C: \ xampp \ htdocs \ SSF \ 1B results.php on line 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!';
?>
Я вижу сейчас. Я дублировал переменную. Я удалил строку $ answer = $ row ['select'. $ _ GET ['a'. $ X]]; и скорректировал оператор If на значение $. Теперь он работает. спасибо – user3163399