
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)
то выбираем к нему все комментарии второго уровня
}
в результате мы делаем тока два запроса (может можно и один сделать через иннер джоин?)
и потом выводим средставми пхп в нужном порядке.
|
|
|