У меня есть база данных с вопросами где есть три колонки. Id , answer , question. ID auto_increment индекс primary. В коде я делаю запрос на вопросы и ответы. Мне нужно, как-то привязать первый ответ именно к первому вопросу. Чтобы если был выведен первый вопрос на него был только один ответ. Всего в базе 6 строк, но их будет больше. Вот код.
<?php
// Подключение у БД
mysql_connect("localhost", "root", "") or die (mysql_error ());
mysql_select_db("school48") or die(mysql_error());
// Запросы на вопросы и ответы
$questionAnswer1 = mysql_query('SELECT answer, question FROM `answer_from_user` WHERE id="0"');
$questionAnswerRow1 = mysql_fetch_assoc($questionAnswer1);
$questionAnswer2 = mysql_query('SELECT answer, question FROM `answer_from_user` WHERE id="1"');
$questionAnswerRow2 = mysql_fetch_assoc($questionAnswer2);
$questionAnswer3 = mysql_query('SELECT answer, question FROM `answer_from_user` WHERE id="2"');
$questionAnswerRow3 = mysql_fetch_assoc($questionAnswer3);
$questionAnswer4 = mysql_query('SELECT answer, question FROM `answer_from_user` WHERE id="3"');
$questionAnswerRow4 = mysql_fetch_assoc($questionAnswer4);
$questionAnswer5 = mysql_query('SELECT answer, question FROM `answer_from_user` WHERE id="4"');
$questionAnswerRow5 = mysql_fetch_assoc($questionAnswer5);
$questionAnswer6 = mysql_query('SELECT answer, question FROM `answer_from_user` WHERE id="5"');
$questionAnswerRow6 = mysql_fetch_assoc($questionAnswer6);
// Упрощение переменных
// Создание массива с вопросами
$questions = array();
$questions[] = $questionAnswerRow1['question'];
$questions[] = $questionAnswerRow2['question'];
$questions[] = $questionAnswerRow3['question'];
$questions[] = $questionAnswerRow4['question'];
$questions[] = $questionAnswerRow5['question'];
$questions[] = $questionAnswerRow6['question'];
// Создание массива с ответами
$answers = array();
$answers[] = $questionAnswerRow1['answer'];
$answers[] = $questionAnswerRow2['answer'];
$answers[] = $questionAnswerRow3['answer'];
$answers[] = $questionAnswerRow4['answer'];
$answers[] = $questionAnswerRow5['answer'];
$answers[] = $questionAnswerRow6['answer'];
// Получение доступа к полю ввода ответа
$label = $_REQUEST['label'];
$label = htmlspecialchars($_REQUEST["label"]);
// Проверка запроса
if (!$questionAnswer1 || !$questionAnswer2 || !$questionAnswer3 || !$questionAnswer4 || !$questionAnswer5 || !$questionAnswer6) {
echo 'Ошибка запроса: ' . mysql_error();
exit;
}
// Сравнение ответа
if (!empty($_REQUEST['label'])) {
if ($_REQUEST['label'] == $answers['0']) {
echo 'Answer Right' . '<br>';
} else echo 'Answer False' . '<br>';
}
// Рандомное генерирование вопросов
$rand_values = mt_rand(0 , count($questions) - 1);
echo $questions[$rand_values];
echo '<br>';
echo '<input type="text" placeholder="Введите ответ например 1992г" name="label"/>';
echo '<button>'.Отправить.'</button>';
?>
</form>
Добавьте к каждый строке с вопросами в базе данных, новое поле response_id
, далее соотвественно создайте в базе данных таблицу для ответов, и после получения ответа к вопросу, сохраняйте ответ в той таблице, а потом ID
ответа сохраняйте в поле response_id
. Таким образом вы реализуете связь ответов с вопросами.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
С php знаком мало, но пригодился в работеПри просмотре запроса весь текст на русском языке выдает эту кашу
Есть отдельная таблица с категориямиДанные извлекаются через