kombo
Новичок
Дерево mysql, рекурсия
Есть известный с некоторыми вариациями код для отображения дерева
function makebranch($parent_id,$table,$level,$maxlevel){
$list=$table[$parent_id];$result="";
asort($list);
while(list($key,$val)=each($list)){
if ($level=="0"){
$output="<img src=/se.gif width=12 height=12>";
}else{
$width=($level+1)*24;
$output="<img src=/e.gif width=$width height=12>";}
$result.= "$output <a href=/?catid=$key>$val</a> ($level) <br>\n";
if ((isset($table[$key])) AND (($maxlevel>$level+1) OR ($maxlevel=="0"))){
$result.= makebranch($key,$table,$level+1,$maxlevel);
}
}
RETURN $result;
}
Что нужно сделать чтобы направить рекурсию по нужной ветке дерева в зависимости от $_GET["catid"]
-~{}~ 22.08.04 03:39:
Да, забыл добавить. Нужно отображение не первого узла за "нажатым" а всей ветви, причем при нажатии на дальнейшие узлы вся ветвь должна оставаться раскрытой
Есть известный с некоторыми вариациями код для отображения дерева
function makebranch($parent_id,$table,$level,$maxlevel){
$list=$table[$parent_id];$result="";
asort($list);
while(list($key,$val)=each($list)){
if ($level=="0"){
$output="<img src=/se.gif width=12 height=12>";
}else{
$width=($level+1)*24;
$output="<img src=/e.gif width=$width height=12>";}
$result.= "$output <a href=/?catid=$key>$val</a> ($level) <br>\n";
if ((isset($table[$key])) AND (($maxlevel>$level+1) OR ($maxlevel=="0"))){
$result.= makebranch($key,$table,$level+1,$maxlevel);
}
}
RETURN $result;
}
Что нужно сделать чтобы направить рекурсию по нужной ветке дерева в зависимости от $_GET["catid"]
-~{}~ 22.08.04 03:39:
Да, забыл добавить. Нужно отображение не первого узла за "нажатым" а всей ветви, причем при нажатии на дальнейшие узлы вся ветвь должна оставаться раскрытой