parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

При такой структуре...

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, как в примере, то код сильно упростится — можно будет пройти прямо от корня без всяких глупостей, а при большой дереве мы сможем еще и вытащить его кусок одним запросом.