Обратный ход по дереву
1.
Женек (18.04.2011 / 09:40)
у записи в БД может либо быть, либо не быть родителя, если родителя нет, то он сам родитель.
пример
id param1 param2 id_rod
1 par par
2 par1 par1 1
3 par2 par2 2
в итоге нужно вывести всё дерево, т.е. id 3,2 и главного родителя id 1.
Что то ничего оптимального в голову не идет =(
2.
KOZZ (18.04.2011 / 09:50)
при такой структуре только ресурсоемким циклом можно все это вывести.
3.
Женек (18.04.2011 / 09:53)
2.
Укуренная Панда, а какую структуру ты предложить можешь в данном случае?
4.
KOZZ (18.04.2011 / 10:06)
3.
Basters, я сам сейчас перед выбором, для сайта своего сейчас выбираю самую оптимальную, читаю много по теме, тесты всякие там.
ganjar рекоммендует nested sets (http://www.getinfo.ru/article610.html ), но как - то она мне не очень нравится.
буду думать
5.
Женек (18.04.2011 / 10:32)
что то сообразил
$query = pg_query('SELECT * FROM kross WHERE id=2');
$result = pg_fetch_assoc($query);
while($result[id_parant]!=0)
{
$id_arr[] = $result[id_parant];
$query = pg_query('SELECT * FROM kross WHERE id='.$result[id_parant]);
$result = pg_fetch_assoc($query);
}
вроди получилось собрать все верхние id, если у кого то есть решение по более лучшей структуре БД или лучшему запросу, просьба подсказать, отписать)
URL:
https://visavi.net/topics/20826