Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Реализация комментарии к посту
Форумы портала PHP.SU » » Вопросы новичков » Реализация комментарии к посту

Страниц (1): [1]
 

1. nurlank - 22 Августа, 2013 - 13:56:54 - перейти к сообщению
Добрый день знатоки!
Прошу помочь, так как уже третий день не могу решить данный вопрос.

Начну с того что у меня имеется страница где отображены последние три поста(т.е. краткое описание постов). Каждый пост имеет отдельный коммент. В базе MySQL комменты и посты связаны по ключевому номеру поста(post_id).

С выводом поста проблемы не возникают. Но когда я вывожу комментарии, получается так что для всех постов одни и те же комментарии.
CODE (htmlphp):
скопировать код в буфер обмена
  1. Пост 1 : коммент 1
  2. Пост 2 : коммент 1
  3. Пост 3 : коммент 1
  4. Пост n : коммент 1


А вот и запросы в БД чтобы вывести пост:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM post ORDER BY id_post LIMIT 3

И также вывожу комментарии:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM comments ORDER BY id_comment LIMIT 3


Вопрос:
Как в запросе сделать так чтобы по ключевому номеру поста( id_post) определял какой коммент вывести для данного поста?

Заранее спасибо!
2. teddy - 22 Августа, 2013 - 14:05:09 - перейти к сообщению
nurlank
Алгоритм следующий:
1. Когда добавляете комментарий, вместе с коментом добавляйте и id того поста, которому посвящен комент в таблицу, где хранятся сами коменты.

2. После уже выводите коменты используя id текущего поста.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `comment` FROM `comments` WHERE `post_id`='$id'

в переменной $id должен находится id текущего поста ($_GET параметр в помощь)

Таким образом для каждого поста будут выводиться свои комменты
3. Zuldek - 22 Августа, 2013 - 14:10:09 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.     "SELECT * FROM comments  WHERE post_id = '". $post ."' ORDER BY id_comment LIMIT 3"

Где $post есть id интересующего поста.

Замечания:

1. Опять пишите не в том разделе
2. Когда задается любой вопрос по SQL и БД - представляется структура задействованных таблиц.
4. nurlank - 23 Августа, 2013 - 07:43:03 - перейти к сообщению
teddy пишет:
nurlank
Алгоритм следующий:
1. Когда добавляете комментарий, вместе с коментом добавляйте и id того поста, которому посвящен комент в таблицу, где хранятся сами коменты.

2. После уже выводите коменты используя id текущего поста.

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `comment` FROM `comments` WHERE `post_id`='$id'

в переменной $id должен находится id текущего поста ($_GET параметр в помощь)

Таким образом для каждого поста будут выводиться свои комменты


Я так и делаю как вы описали выше. А какой запрос писать в $id?
(Добавление)
Zuldek,
Извиняюсь, но данный вопрос относится к разделу новичков.
Таблицу вполне описал. Если хотите видеть визуально, могу показать.

 

Powered by ExBB FM 1.0 RC1