Добавить/показать комментарий к посту в блоге на PHP/MySql?
Здравствуйте! Учу php, делаю блог, пытаюсь связать комментарии к постам. То есть, сделать так, чтоб каждый комментарий был связан со своим постом. Проблема в том, что не могу сообразить как правильно query реализовать, чтоб показывать именно связанные комменты с постами, а не все сразу. Вот query, до которого я мучительно додумался, но он все-же не выводит ничего, явно составлен неверно:
'SELECT commentID, name, content, post_id, date FROM blog_comments WHERE post_id = commentID'
Я так понял, мне надо связать postID с post_id в таблице blog_comments. До всего этого додумался, но как правильно в коде реализовать не могу, знание синтаксиса еще слишком слабое :) Буду очень благодарен за любую помощь и направление, спасибо большое! Также мои таблицы:
blog_posts
postID (Primary) int(11) No
postTitle varchar(255) Yes NULL
postDesc text Yes NULL
postCont text Yes NULL
postDate datetime Yes NULL
blog_comments
commentID (Primary) int(11) No
name varchar(55) No
content varchar(255) No
post_id int(11) No blog_posts -> postID
date timestamp No CURRENT_TIMESTAMP
Добрый вечер.
Если Вы хотите из таблицы с комментариями получить только те комментарии, которые относятся к данной новости(заметке, посту и т.д.), то и подставляйте в запрос id новости, а не комментария, как Вы делаете.
Shrt: Подумайте хорошенько, не привыкайте заниматься тупым копипастом, без обид.
Где у Вас хранится новость, в какой таблице? Как называется поле где хранится id новости?
По какому полю, в таблице комментариев, связана новость с комментарием?
Вот и подставляйте в запрос "из таблицы комментариев где post_id = id новости"
slo_nik: Никаких обид, я очень долго ломаю голову, прежде чем задавать вопросы. Чаще всего, само все приходит, и здесь я очень близко, но не могу правильно query сформулировать. Спасибо большое за Ваше внимание, я еще буду думать и пытаться!
slo_nik: Учил по книжке, там учили с помощью Mysqli, с pdo пока еще не разобрался до конца, моментами кажется темным лесом. Вот код, который я использую для вывода Имени, коммента и так далее...
$comm = $connect->query('SELECT `commentID`, `name`, `content`, `post_id`, `date` FROM `blog_comments` AND `postID` FROM blog_posts WHERE ...');
while($row=$comm->fetch_array(MYSQLI_ASSOC))
{
Используйте или join или вложенный запрос.
Получаете сначала все данные по новости, потом уже выбираете все комментарии.
В 'name' храните имя пользователя? Лучше хранить id