Создать ответ 
Построение дерева иерархии или дерева комментариев
Автор Сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #41
RE: Построение дерева иерархии или дерева комментариев
Спасибо проверил вот как у меня:

PHP код:
while ($comments=mysql_fetch_assoc($result)) $tags[(int)$comments['parent_id']][]=array((int)$comments['id'], $comments['message'], $comments['login'], $comments['date'], $comments['first_parent']); 

и кнопка:

PHP код:
echo '<div align="center" style="width:100px; border: 1px solid #000;"><span class="size14" onClick="comm_on(0,'.$tags[$parent][$i][0].','.$tags[$parent][$i][4].')">Ответить</span></div>'

последнее Ваше исправление:

PHP код:
if ($tags[$parent][$i][6]==0$tags[$parent][$i][4]=$tags[$parent][$i][0]; 

В котором только и есть строчка $tags[$parent][$i][6] - больше её нигде нету...

Может на что то ещё стоит обратить внимание? Scratch
21.07.2012 17:45:14
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #42
RE: Построение дерева иерархии или дерева комментариев
В последнем исправлении тоже 6 на 4 надо исправить.
Вот так:
Код:
if ($tags[$parent][$i][4]==0) $tags[$parent][$i][4]=$tags[$parent][$i][0];
21.07.2012 17:48:16
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #43
RE: Построение дерева иерархии или дерева комментариев
Ну вот вроде уже всё работает кроме того что по счёту один раз пятый родительский комментарий почему то выскочил выше четвёрки, а на второй странице вообще в обратной последовательности род. комментарии показались (и то вторая страница не сразу появилась, а только после того как я завёл первый дочерний комментарий).
21.07.2012 18:02:12
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #44
RE: Построение дерева иерархии или дерева комментариев
Добавьте во второй запрос сортировку по id (или времени)

Код:
$result = mysql_query("SELECT * FROM comment WHERE theme='".$_SESSION[mess_url]."' and (id IN(".$zapros.") or first_parent IN(".$zapros.")) ORDER BY id", $link);

Первый запрос, я так понимаю вы сортируете в обратном порядке?

Код:
$result = mysql_query("SELECT * FROM comment WHERE  theme='".$_SESSION[mess_url]."' and first_parent=0 ORDER BY id desc LIMIT ".($comment_list*5-5).",5", $link);
21.07.2012 18:08:18
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #45
RE: Построение дерева иерархии или дерева комментариев
Цитата:$result = mysql_query("SELECT * FROM comment WHERE theme='".$_SESSION[mess_url]."' and first_parent=0 ORDER BY id desc LIMIT ".($comment_list*5-5).",5", $link);

Нет я desc на время отладки убрал что бы Вам удобнее было ориентироваться по коду.
Код:
$result = mysql_query("SELECT * FROM comment WHERE theme='".$_SESSION[mess_url]."' and (id IN(".$zapros.") or first_parent IN(".$zapros.")) ORDER BY id", $link);

Вот этот код мне помог!!! Скажите теперь я могу дописать desc?
(Последний раз сообщение было отредактировано 21.07.2012 в 18:23:04, отредактировал пользователь Incognito.)
21.07.2012 18:19:29
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #46
RE: Построение дерева иерархии или дерева комментариев
Конечно, пробуйте как Вам удобнее.

Desc - это всего лишь обратное направление сортировки (от большего к меньшему).
21.07.2012 18:26:24
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #47
RE: Построение дерева иерархии или дерева комментариев
(21.07.2012 18:26:24)Admin писал(а):  Конечно, пробуйте как Вам удобнее.

Спасибо огромное - теперь всё работает как надо!!!! Big Grin Сейчас немного дух переведу, займусь визуальным оформлением беседки (стоит кое чего всё таки подкрутить) и сделаю ссылочку на Ваш проект в беседке в знак благодарности (базу то я потёр и соответственно все прошлые сообщения то же). Ещё раз Спасибо! Cool
21.07.2012 18:34:16
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #48
RE: Построение дерева иерархии или дерева комментариев
Сделал себе на основе данного скрипта гостевую книгу на сайт, и тут появилась еще одна идея - чтобы на первой страничке отображались последние оставленные родительские сообщения, а вот внутри дерева, наоборот - первым идет ответ, который был раньше добавлен.
В общем первой в гостевой книге должна быть самая свежая ветка (последний id), а ответы в данной ветке должны идти по возрастанию даты.

Думаю, данное решение Вас тоже заинтересует:
[Изображение: parents_3.png]

SQL запросы, приведенные ранее, не позволяют сделать такую сортировку, т.к. они сортируют сразу все сообщения (и родительские и ответы).

Для такого вывода сообщений, как на скриншоте выше, необходимо заменить второй SQL запрос на два новых:
Код:
$result = mysql_query("SELECT * FROM comment WHERE theme='".$_SESSION[mess_url]."' and moderation=1 and id IN(".$zapros.")  ORDER BY id desc", $link);
$result2 = mysql_query("SELECT * FROM comment WHERE theme='".$_SESSION[mess_url]."' and moderation=1 and first_parent IN(".$zapros.") ORDER BY id", $link);

А далее, после строки, где мы заносим полученные данные в массив while ($comments=mysql_fetch_assoc($result)) $tags[(int)$comments['parent_id']][]= . . .
необходимо продублировать данную строчку, за исключением $result (меняем на $result2).
22.07.2012 19:51:43
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #49
RE: Построение дерева иерархии или дерева комментариев
(22.07.2012 19:51:43)Admin писал(а):  Думаю, данное решение Вас тоже заинтересует:

Безусловно! Действительно разумное решение! Сделал всё по Вашему примеру - теперь всё правильно отображает. Спасибо!!!
(Последний раз сообщение было отредактировано 24.07.2012 в 18:46:08, отредактировал пользователь Incognito.)
23.07.2012 23:45:05
Найти все сообщения Цитировать это сообщение
Incognito Не на форуме
Лейтенант
*

Сообщений: 138
У нас с: Nov 2011
Сообщение: #50
RE: Построение дерева иерархии или дерева комментариев
Скажите насчёт "направляющих" с боку ничего не придумали? У меня есть идея просто графический файл с "L"- образным рисунком прицепить к дочерним комментам и всё ))))
(Последний раз сообщение было отредактировано 24.07.2012 в 18:46:17, отредактировал пользователь Incognito.)
24.07.2012 18:45:57
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru