2013-09-29 3 views
1

У меня есть две таблицы, одна с постами и еще один с комментариями:PHP/MySQL - Использование результатов запроса для использования в другом запросе

posts 
----- 
ID 
user_ID 
text 
date 

comments 
-------- 
ID 
post_ID 
user_ID 
text 
date 

Я хочу, чтобы отобразить каждый пост и для каждой должности, я хотите отобразить связанные комментарии. Таким образом, я сделал два запроса:

include('bdd.php'); 
$reponse = $bdd->query(' 
    SELECT posts.ID AS post_ID, posts.user_ID, posts.text, posts.date FROM posts 
    ORDER BY posts.ID DESC 
'); 
while ($post = $reponse->fetch()){ 
    //displaying a post 
    $get_comments=$bdd->query('SELECT * FROM comments WHERE post_ID ='.$post['post_ID']); 
    while($comment = $get_comments->fecth()){ 
     //displaying a comment 
     echo $comment['text'] 
    } 
} 

Но код останавливается и отображает только первое сообщение без комментариев.

+0

вы используете PDO? Попробуйте вставить '$ reponse-> execute();' перед первым показом. ИЛИ замените '$ bdd-> prepare();' с '$ bdd-> query();' –

+0

Да, вы правы, я забыл, когда я упростил код, я просто добавил его. Это не решает проблему. Спасибо, в любом случае. – Codophage

+0

Я отправляю его как ответ, принимаю его. счастливое кодирование –

ответ

2

Попробуйте вставить

$reponse->execute(); 

перед первым while. ИЛИ заменить $bdd->prepare(); с ошибкой $bdd->query();

Typo:

$get_comments->fecth() проверить fetch() написание

+0

Я добавил. Это не решает проблему. Спасибо, в любом случае. – Codophage

+0

Это была орфографическая ошибка. Спасибо! – Codophage

1

- это вопрос выбора, даже правильный?

SELECT posts.ID AS post_ID, posts.user_ID, posts.text, posts.date 
ORDER BY posts.ID DESC 

У него нет предложения FROM. Если бы, как показано ниже:

SELECT posts.ID AS post_ID, posts.user_ID, posts.text, posts.date FROM posts 
ORDER BY posts.ID DESC 
+0

Вы правы, infact, я упростил код и Я забыл ОТ. Но это не проблема. Спасибо, в любом случае. Я добавил FROM. – Codophage

Смежные вопросы