Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Иерархичные комментарии 
:(
    Опции темы
MPx
Дата 21.5.2008, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 17.11.2005

Репутация: нет
Всего: 1



Приветствую. 4 часа ночи, не могу додуматься...
Задача у меня: возможность добавления комментариев с неограниченной вложенностью, т.е. чтобы на  любой комментарий можно добавить свой комментарий и т.д.
Пример можно посмотреть допустим на этом сайте: хабр.

Текущая стр-ра БД:

comment_id | user_login | post_id | comment_parent | comment_rating | comment_text | comment_date

comment_id - idшник коммента;
user_login  - кому принадлежит коммент;
post_id - какому сообщению на сайте принадлежит этот комментарий;
comment_parent - к какому комменту привязан;
comment_rating - общий рейтинг коммента;
comment_text - текст коммента;
comment_date - дата.

Как видите, на данный момент сделал привязку коммента к комменту. Но дело в том, что неизвестно, на каком уровне находится коммент, соответственно, неизвестно какой отступ ставить и прочее. Т.к. найти родителя допустим коммента для третьего уровня крайне сложно (можно рекурсивно конечно, но имхо это неверено с точки зрения поедания ресурсов).

Что можете предложить? Добавить для коммента, который является комментом на другой коммент, поле уровня? Аля comment_level?

Извините, если сумбурно объяснил. Голова  smile 
Спасибо за помощь.
PM MAIL ICQ MSN   Вверх
skyboy
Дата 21.5.2008, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(MPx @  21.5.2008,  03:21 Найти цитируемый пост)
неизвестно какой отступ ставить

если проблема - именно в отступе, то скажи, так ли тебе надо знать "абсолютное значение порядка вложенности" или достаточно того, что "вот это - вложеннее вот того"?
вообще, неясно, что тебе необходимо.
в любом случае, кроме хранения идентификатора предка возможны ещё структуры nested sets(поиская в google) и materialized path(когда хранится весь список комментариев-предков для каждого комментария). соответственно, в зависимости от того, какая перед тобой стоит задача(выводишь ли ты только коммнетарии определенного комментария или все "дерево", какя информация тебе нужна для вывода - например, уровень вложенности и тому подобные вопросы, ответы на которые знаешь только ты сам), выбирается наиболее подходящая структура хранения.
но даже у тебя с твоей структурой, к слову говоря, можно пользовать не рекурсивное построение дерева.  если у тебя кроме mysql есть ещё язык программирования(например, PHP).
Цитата(MPx @  21.5.2008,  03:21 Найти цитируемый пост)
это неверено с точки зрения поедания ресурсов

смотря, как реализована рекурсия.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0582 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.