Показать сообщение отдельно

как грамотно выбрать дерево из БД?
  #1  
Старый 06.02.2009, 23:02
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме:
2209675

Репутация: 537


По умолчанию как грамотно выбрать дерево из БД?

есть таблица с комментариями, у некоторых комментариев так называемый parent_id - "комментарии на комментарии".

искал решение грамотной выборки без миллиона запросов к бд.

нашёл вот это:
http://habrahabr.ru/blogs/sql/43955/
там огорчили, что в mysql нет нормальных средств для этого и типа пользуйтесь пхп, и ссылка вот сюда:

http://www.codenet.ru/webmast/php/tree.php

это понятно - нерациональный говнокод.

собственная мысль (сонный мозг уже ниче не соображает):
PHP код:
-select comments where parent_id == null
$ids 
все выбранные идчерез запятую
-select comments where parent_id in($ids)

фореач comments{
если in_array(текущий ид$parent_ids)
   
то выбираем к нему все комментарии второго уровня


в результате мы делаем тока два запроса (может можно и один сделать через иннер джоин?)
и потом выводим средставми пхп в нужном порядке.
 
Ответить с цитированием