Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: комментарии к чему-либо

Сообщения:  [1-10]   [11-18] 

 
 автор: sponge   (17.07.2009 в 18:11)   письмо автору
 
   для: Trianon   (17.07.2009 в 18:03)
 

благодарю за развернутый ответ!

  Ответить  
 
 автор: Trianon   (17.07.2009 в 18:03)   письмо автору
 
   для: sponge   (17.07.2009 в 17:53)
 

есть три базовые методики: adjacency list, nested sets и matherialized paths.
Вы описываете третий. он обладает рядом количественных ограничений и лично мне по этой причине малосимпатичен.
Но место быть имеет.

  Ответить  
 
 автор: sponge   (17.07.2009 в 17:53)   письмо автору
 
   для: Trianon   (17.07.2009 в 17:44)
 

>Можно обойтись одним запросом, затянув всё дерево в массив.
>А потом уже вести рекурсию. Не трогая сервер.
>Собственно, текущая версия форума, как я понимаю, так и делает.

т.е. рекурсия средствами php?

>Можно также применить методику nested sets для хранения дерева.
>Если дерево подвергается изменениям нечасто - более чем достойный вариант.

спасибо, надо будет прочесть материал по этой методике.


Как считаете, метод приведенный выше (на php.su) имеет место быть?
Просто вести в табличке еще два поля - level и sortorder. Level - уровень сообщения, а sortorder строка, по которой будет проходить сортировка.
Например, имеем сообщения (id) и генерируемая для них строка sortorder
-1 - sortorder=0000001
--2 - sortorder=00000010000002
---5 - sortorder=000000100000020000005
-3 - sortorder=0000003
--8 - sortorder=00000030000008

  Ответить  
 
 автор: Trianon   (17.07.2009 в 17:44)   письмо автору
 
   для: sponge   (17.07.2009 в 17:38)
 

Можно обойтись одним запросом, затянув всё дерево в массив.
А потом уже вести рекурсию. Не трогая сервер.
Собственно, текущая версия форума, как я понимаю, так и делает.

Можно также применить методику nested sets для хранения дерева.
Если дерево подвергается изменениям нечасто - более чем достойный вариант.

  Ответить  
 
 автор: sponge   (17.07.2009 в 17:38)   письмо автору
 
   для: Trianon   (17.07.2009 в 17:35)
 

Ну тут аналогия с Петей и волками=) Не разглядел зерна во всем флуде.

А тем плох вариант с рекурсивными запросами, что запросом слишком много выходит. Когда можно сделать все в один.

  Ответить  
 
 автор: Trianon   (17.07.2009 в 17:35)   письмо автору
 
   для: sponge   (17.07.2009 в 17:23)
 

>спасибо всем за спам =)
>а если можно по существу..

А если по существу, то я задал Вам вопрос. По существу. А Вы на него не ответили.

  Ответить  
 
 автор: sponge   (17.07.2009 в 17:23)   письмо автору
 
   для: psychomc   (17.07.2009 в 11:42)
 

спасибо всем за спам =)
а если можно по существу..
пока реализовал дерево вот таким боком: http://www.php.su/articles/?cat=phpdb&page=004
посоветовали делать выборку с использованием хранимых процедур, но оказалось у хостера mysql 4.1.

есть id коммента - id родителя. как дальше выбрать данные из базы, чтобы получилось как на этом форуме? без всяких доп полей типа sortorder (см ссылку выше).
вот в чем был вопрос.. а красиво - значит современно, например с использованием тех же хранимых процедур

  Ответить  
 
 автор: Trianon   (17.07.2009 в 13:14)   письмо автору
 
   для: Loki   (17.07.2009 в 13:07)
 

Это всё девелореры напридумывают невесть чего, а нам, посетителям, потом мучайся и привыкай...
:)

  Ответить  
 
 автор: Loki   (17.07.2009 в 13:07)   письмо автору
 
   для: psychomc   (17.07.2009 в 12:04)
 

Забавный виток совершила история: первые форумы были древовидные, а первые комментарии - линейные... постепенно в моду стали входить линейные форумы и древовидные комментарии...
Теперь уже редко встретишь древовидный форум:)

  Ответить  
 
 автор: psychomc   (17.07.2009 в 12:04)   письмо автору
 
   для: sim5   (17.07.2009 в 11:48)
 

я думаю, что автор, когда писал про современность, не имел ввиду просто вывести комментарии лесенкой (мб я ошибаюсь)...

  Ответить  

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования