Как создать раскрывающийся многоуровневый древовидный список?

Суть вопроса такова нужен раскрывающийся многоуровневый древовидный список, получающий данные из БД, уже есть код, за одним лишь исключением, что не настроено раскрывание вот скрин результата:
59d1c5bd3f959972380749.jpeg
вот код
<?
include_once("bd.php");
header("Content-Type: text/html; charset=UTF-8");
//Выбираем данные из БД
$result=mysql_query("SELECT * FROM  table1");
//Если в базе данных есть записи, формируем массив
if   (mysql_num_rows($result) > 0){
    $cats = array();
//В цикле формируем массив разделов, ключом будет id родительской категории, а также массив разделов, ключом будет id категории
    while($cat =  mysql_fetch_assoc($result)){
        $cats_ID[$cat['uid']][] = $cat;
        $cats[$cat['pid']][$cat['uid']] =  $cat;
    }
}
function build_tree($cats,$parent_id,$only_parent = false){
    if(is_array($cats) and isset($cats[$parent_id])){
        $tree = '<ul>';
        if($only_parent==false){
            foreach($cats[$parent_id] as $cat){
                $tree .= '<li>'.$cat['name'].' #'.$cat['uid'];
                $tree .=  build_tree($cats,$cat['uid']);
                $tree .= '</li>';
            }
        }elseif(is_numeric($only_parent)){
            $cat = $cats[$parent_id][$only_parent];
            $tree .= '<li>'.$cat['name'].' #'.$cat['uid'];
            $tree .=  build_tree($cats,$cat['uid']);
            $tree .= '</li>';
        }
        $tree .= '</ul>';
    }
    else return null;
    return $tree;
}
echo build_tree($cats,0);
?>
  • Вопрос задан
  • 4418 просмотров
Пригласить эксперта
Ответы на вопрос 1
rework
@rework
Помог ответ? В благодарность отметь его решением
Вот вам простой пример на Jquery - https://codepen.io/anikey99/pen/GJLdrZ
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы