Как лучше построить структуру древовидных комментариев (mysql)?

12
FFFFx029A
На сайте с 01.09.2007
Offline
142
1154

Всем доброго времени суток. Хочу сделать удобные древовидные ajax комменты, но не могу определится со структурой.

Вот на коленке набросал структуру, но есть нюансы:

id, //ИД коммента

arid, //ид статьи к которой привязан коммент

arn, //название статьи к которой привязан коммент

aid, //ИД автора

avatar, //аватарка автора

aname, //ИМЯ автора (чтоб лишний раз не вытаскивать с БД)

rname, //ИМЯ reply т.е имя того кому отвечаем если ответ

rid, //ID того юзера которому отвечаем (если отвечаем)

date, //дата коммента

comment, //комментарий

pcid, //ИД родительского коммента если есть

level, // уровень вложенности

path,//папка вида /25/63/75/103

ip, //IP чтоб знать кого банить

uhash //MD5 коммента чтоб небыло дублей в течении 10 мин. например от одного и тогоже автора

Комменты собираюсь доставать одним запросом, сортировать этот получившийся массив и рекурсивно выводить ну и чтоб каждый раз к базе не обращаться - записывать комменты в спец. поле в таблице со статьей и обновлять "кеш" после добавления/удаления/изменения комментов. Как Вам вообще такой вариант или есть ещё более гибкие варианты структуры?

И как лучше делать сортировку, сразу в запросе к БД или отсортировать уже после вытаскивания из БД?

http://www.youtube.com/watch?v=Gyl4E4EcPdc (http://www.youtube.com/watch?v=Gyl4E4EcPdc) - партнёрка от Мавроди и МММ))) http://miniwm.ru/soft.php?read=917 (http://miniwm.ru/soft.php?read=917) CMS MiniWM v2.8 - 49.99$
дани мапов
На сайте с 06.09.2012
Offline
204
#1

Тоже собирался как-то делать древовидные комментарии и искал как лучше сделать, увидел решение, которое понравилось больше всех http://habrahabr.ru/qa/7550/ (совет отGearHead). Но в конце концов, все-таки поставил обычные комментарии из-за того что в древовидных неудобно искать свежие комментарии. Допустим кто-то ответит на старое сообщение и его ответ будет под этим поздним комментарием, а не в начале списка, как все привыкли.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
C
На сайте с 04.02.2005
Offline
291
#2

Но ведь можно поставить и переключатель дерево-список (см. тытруб)

Mik Foxi
На сайте с 02.03.2011
Offline
1217
#3

Древовидные коммендарии зло и уродство.

Не издевайтесь над людьми, делайте обычные.

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (8 лет на защите сайтов). Форум на замену серчу: https://foxi.biz/
C
На сайте с 04.02.2005
Offline
291
#4

Все зависит от неких параметров

Количество предполагаемых коментариев

Темы (может тема и уходить в сторону)

ЖЖ тому пример.

Хабр имеет дерево

А если коменты=отзывы, то да, возможно, и зло

Mik Foxi
На сайте с 02.03.2011
Offline
1217
#5

лучше сделать как на этом форуме - возможность вставить ник в ответ и цитирование. и не нужны никакие древодидности, не располагают они к чтению и комментированию.

FFFFx029A
На сайте с 01.09.2007
Offline
142
#6
foxi:
лучше сделать как на этом форуме - возможность вставить ник в ответ и цитирование. и не нужны никакие древодидности, не располагают они к чтению и комментированию.

Вот это кстате отличная идея и еще по поводу переключателя на дерево надо подумать..

Алеандр
На сайте с 08.12.2010
Online
207
#7

Присоединяюсь к тем, кто против древовидных. Действительно, не очень удобно и малоинформативно. Достаточно указания автора, или цитирования, если это ответ на предыдущее собщение.

Mik Foxi
На сайте с 02.03.2011
Offline
1217
#8
Алеандр:
Присоединяюсь к тем, кто против древовидных. Действительно, не очень удобно и малоинформативно. Достаточно указания автора, или цитирования, если это ответ на предыдущее собщение.

еще при ответе на конкретное сообщение можно якорь ставить, чтоб уж совсем замечательно было.

izbushka
На сайте с 08.06.2007
Offline
110
#9
foxi:
еще при ответе на конкретное сообщение можно якорь ставить, чтоб уж совсем замечательно было.

И потом по нему, если уж очень хочется, собирать деревья сразу в броузере на JS :)

N
На сайте с 06.05.2007
Offline
419
#10
foxi:
лучше сделать как на этом форуме - возможность вставить ник в ответ и цитирование. и не нужны никакие древодидности, не располагают они к чтению и комментированию.

более того, на Этом Форуме реализованы древовидные комментарии, но они выключены в настройках.

Кнопка вызова админа ()
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий