#php
#php
Вопрос:
я пытаюсь получить идентификатор объекта с внешним ключом, но это не работает.
$sql2 = "SELECT a.*, q.* FROM answer a inner join question q on a.question_id = q.id WHERE a.question_id = 1";
$result2 = $conn ->query($sql2);
while($row2 = $result2->fetch_assoc()) {
echo "<input name='group1' type='radio' id='". $row2['id'] ."' />" . "<label for='". $row2['id'] ."'>".$row2['answer_text']."</label>";
}
Комментарии:
1. Не возвращает ли это ошибку?
2. нет, это работает с answer_text, но значение id всегда равно 1
Ответ №1:
$result2 = $conn ->query($sql2);
После него нет пробела $conn
Попробуйте это без пробела:
$result2 = $conn->query($sql2);
Комментарии:
1. если вы хотите выбрать все ответы, связанные с вопросом, попробуйте этот код:
"SELECT a.*, q.* FROM answer AS a INNER JOIN question AS q ON a.question_id = q.id"
2. все та же $row [‘id’] всегда равна 1
3. если вам нужен индивидуальный ответ на вопрос, вы передаете динамический идентификатор, используя СУПЕР ГЛОБАЛЬНУЮ переменную
$_GET
следующим образом:WHERE a.question_id = $_GET['id']
4. это работает над вопросом, он отображает их все, но почему-то в поле id это не работает, мне нужно это поле id, чтобы создать другой идентификатор для радиокнопок
5. Попробуйте это:
"SELECT a.id as answer_id, a.*, q.id as question_id, q.* FROM answer a inner join question q on a.question_id = q.id WHERE a.question_id = 1"
;while($row2 = $result2->fetch_assoc()) { echo "<input name='group1' type='radio' id='". $row2['answer_id'] ."' />" . "<label for='". $row2['question_id'] ."'>".$row2['answer_text']."</label>"; }