Я создаю простую доску объявлений и вам нужно получить информацию из трех разных таблиц, чтобы отобразить основную сводную страницу. Я использую протокол mysqli_stmt и не могу понять, как получить первое сообщение и имя автора для каждого обсуждения, поскольку все запросы sql необходимо закрыть до того, как будет подготовлен другой.mysqli_stmt получить ограниченные данные из 3 таблиц
Вот упрощенная версия кода я бегу, чтобы создать свою базу данных:
CREATE TABLE `users` (
`id` INT(25) UNSIGNED AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR(65) NOT NULL
);
CREATE TABLE `discussions` (
`id` INT(25) UNSIGNED AUTO_INCREMENT PRIMARY KEY ,
`subject` VARCHAR(120) NOT NULL ,
`last_author` INT(25) NOT NULL
);
CREATE TABLE `messages` (
`id` INT(25) UNSIGNED AUTO_INCREMENT PRIMARY KEY ,
`discussion` INT(25) NOT NULL ,
`author` INT(25) NOT NULL ,
`message` TEXT
);
Можно ли сформировать запрос, который будет выбирать все обсуждения, а для каждой дискуссии, выберите тему, последний автора имя и самый последний текст сообщения?
я могу использовать этот код, чтобы отобразить все предметы каждой дискуссии:
<?php
$sqlcmd = "SELECT * FROM _discussions";
$get = mysqli_prepare($sqlConnection,$sqlcmd);
mysqli_stmt_execute($get);
mysqli_stmt_bind_result($get, $id, $subject, $last_author);
while(mysqli_stmt_fetch($get)) : ?>
<li><?=$subject?></li>
<?php endwhile;
mysqli_stmt_close($get);
?>
, но как я могу получить имя автора и сообщение, если я не могу инициировать другую SQL запроса внутри цикла?
Это 'в то время как (mysqli_stmt_fetch ($ получить)); ?> 'должно быть' while (mysqli_stmt_fetch ($ get)):?> '- Также убедитесь, что короткие теги активированы' = '- if not, do' php echo' –
О, извините, что это было опечатка. – Cbas