Доброго времени.
Имеется Бдid name parenid
1 Server 0
2 Client 0
4 PHP 1
5 HTML 2
6 Css 5
Выборка меню в php PHP class
class Menu{
private $items=array();
function getMenu(){
$sql="select * from category " ;
$ret=mysql_query($sql) ;
while($row=mysql_fetch_assoc($ret)){
$q[$row['id']]=$row;
}
return $q;
}
function mapTree($dataset) {
$tree = array();
foreach ($dataset as $id=>$node) {
if ($node['parentid']==0) {
$tree[$node['id']]['root'] = $node;
}else{
$tree[$node['parentid']]['childs'][$id] = $node;
}
}
return $tree;
}
$menus=new Menu();
echo json_encode($menus->mapTree($menus->getMenu()));
Вопрос,как возможно отрисовать древовидное меню, на клиенте используя рекурсию ?$(function(){
$.getJSON('main.php?j=get', function(json) {
rec(json);
});
});
function rec(obj){
if(obj instanceof Object){
list='<ul>';
$.each(obj,function(k,v){
if(v['root']){
list+='<li>'+v['root'].cat_name+'</li>';
}
if(v['childs']){
$.each(v['childs'],function(f,vv){
list+='<li>'vv.cat_name+'</li>';
});
}
$('.menu').html(list);
rec(v['childs']);
list+='</ul>'
});
}
}
Всё-бы нечего но выводится только главное меню или под меню.
Как можно реализовать такую идею.
П.С
Спасибо всем за уделённое время .