[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вывод последних комментариев
Crash2007
всем привет! =)

имеются древовидные комментарии.
и до меня никак не доходит как сделать вывод комментариев, которые пользователь комментировал. подскажите последовательность действий.. unsure.gif

таблица с полями: id, parent_id, email, comment



Спустя 7 минут, 31 секунда (2.05.2011 - 20:29) Renden написал(а):
Crash2007
Которые пользователь комментировал последними?
Все достаточно просто, создать таблицу users_comments с полями comment_id(тип int (тут айди коментария)) user_id (тип int(Тут айди пользователя)) и date (тип datetime). При добавлении коментария писать в эту таблицу айди пользователя, ид коментария и дату.

Выборка будет с JOIN и ORDER BY `date` DESC

Спустя 7 минут, 24 секунды (2.05.2011 - 20:37) Crash2007 написал(а):
напоминаю что комментарии древовидные.. и я всеравно не понимаю как это написать.. dry.gif sad.gif
Renden
изложи мне пожалуйста по подробнее.. smile.gif

Спустя 22 минуты, 48 секунд (2.05.2011 - 21:00) Renden написал(а):
Crash2007
Кароче если ты хочешь видеть только те сообщения именно что писал пользователь то тогда достаточно добавить в твою таблицу 2 поля user_id и date в которые вбить айди юзера и дату соответственно.

Спустя 6 минут, 11 секунд (2.05.2011 - 21:06) Crash2007 написал(а):
))
вот похожий пример: http://vkontakte.ru/feed?section=comments
- выводятся записи которые я комментировал.
здесь мне то же нужно. то есть вывести комментарии, которые я комментировал (дочерние-комментарии) + мои комментарии (комментарии-родители).

Спустя 18 минут, 17 секунд (2.05.2011 - 21:24) Renden написал(а):
Crash2007
Для того чтоб вывести еще и родителей нужно просто будет добавить JOIN и все.
Сначала сделай так чтоб у тя выводились твои коментарии (дочернии), создав 2 столбца в таблице.. А потом приведешь пример обоих таблиц и составим тебе запрос)

Точнее не обоих, а 3-х таблиц, с юзерами, с дочерними и с главными коментами.

Спустя 15 минут, 2 секунды (2.05.2011 - 21:39) Crash2007 написал(а):
ты что нуб новенький?
одна таблица. с полями: id - это id комментария, parent_id - это дочерний "id".
вот простой пример
$query = mysql_query('SELECT `id`, `comment` FROM `comments`');
while($row = mysql_assoc($query)) {
echo $row['comment']; //main_row
parents($row['id']);
}

function parents($id) {
$query = mysql_query('SELECT `id`, `comment` FROM `comments` WHERE `parent_id` = "' . $id . '"');
while($row = mysql_assoc($query)) {
echo '<div style="margin-left:15px;">' . $row['comment']; //parent_row
parents($row['id']);
echo '</div>';
}
}


(поправил =( )

Спустя 16 минут, 14 секунд (2.05.2011 - 21:55) Renden написал(а):
Crash2007
Я думал 2 таблицы одна с главными коментами, другая с дочерними, и между ними связь.
В но всеравно ничего не меняется, тебе надо создать 2 поля еще)
тогда запрос будет на выбор 10 последних твоих коментариев примерно таким:

SELECT c.comment,c.id,u.user_name FROM comments c LEFT JOIN users u ON u.id=c.user_id WHERE u.id='$myid' ORDER by c.date DESC LIMIT 10

Спустя 3 минуты, 35 секунд (2.05.2011 - 21:59) Renden написал(а):
Собствено таблица users в моем запросе такая:
id | user_name
1 | Василий Петрович

comment такая:
id, parent_id, email, comment , user_id, date

Кавычки только расставь в запросе если будешь использовать..

Спустя 2 минуты, 41 секунда (2.05.2011 - 22:02) Crash2007 написал(а):
я вижу ты в MySQL силен))
у меня в голове кружиться идея. по каждому моему комменту идти вверх по дереву. пока не дойдет до главного родителя. но я с утра перед собой вижу код-код-код..сейчас уже не соображаю ничего!!...=)

Спустя 5 минут, 27 секунд (2.05.2011 - 22:07) Renden написал(а):
Crash2007
Мой запрос должен работать, поправь названия полей на свои и выполни, должен увидеть только свои сообщения.

Или можешь создать 2 тестовых таблицы с такими названиями столбцов как у меня и попробывать. Завтра на работу, с утра посмотрю как дела, спокойной.

Спустя 21 минута, 3 секунды (2.05.2011 - 22:28) Crash2007 написал(а):
ага. работает =)
но это не все, что мне нужно))
завтра попробую "свою идею")


_____________
Рисую на PHP :)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.