Arqin
Новичок
Помогите с рекурсией
Дело такое нужно выбрать всех потомков в таблице по указанному ID...
Вроде написал рекурсию, но не могу понять в чем загвоздка. Она корректно работает только при вложении не более 2...
Укажите на ошибку, пожалуйста...
Вот сосна код:
Собственно сама функция является методом класса...
P.S.: Заранее спасибо =)
Дело такое нужно выбрать всех потомков в таблице по указанному ID...
Вроде написал рекурсию, но не могу понять в чем загвоздка. Она корректно работает только при вложении не более 2...
Укажите на ошибку, пожалуйста...
Вот сосна код:
PHP:
function getDescendant($val = '') {
$rr=array();
$res = array();
$rt = array();
if (!$val) {
$val = $this->oid;
$rr[] = $val;
}
$qq="select OID from CATEGORY where PARENT_OID='{$val}' order by name";
$result = $this->cache->query ($qq);
while ($row=$result->fetchRow()) {
$rt = $this->getDescendant($row['OID']);
$rr[]=$row['OID'];
$res = array_merge ($rt, $rr);
}
return $res;
}
P.S.: Заранее спасибо =)