| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sumo 03.11.2011 10:29 / 03.11.2011 10:51
... есть только один вариант: вытащить всю таблицу и пройти по par_id. $tree[^hash::sql{select id, par_id, name from cg_adr}]
$path[^hash::create[]]
$cur_id[4]
^while(^tree.contains[$cur_id]){
$path.[^path._count[]][$cur_id]
$cur_id[$tree.[$cur_id].par_id]
}
^for[i](1;$path){$tree.[^eval($path - $i)].name}[ / ]Но если добавить дополнительное поле с thread_id, как в примере, то код сильно упростится — можно будет пройти прямо от корня без всяких глупостей, а при большой дереве мы сможем еще и вытащить его кусок одним запросом.