Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

PHP:Как вывести дерево категорий?

#php #mysql #рекурсия


наткнулся на статью хорошо описано про создания дерево категории, но функция вернет
ответь в готовый html но я хочу получать дерево в массиве структура такая:



//Выбираем данные из БД
$result=mysql_query("SELECT * FROM  categories");
//Если в базе данных есть записи, формируем массив
if   (mysql_num_rows($result) > 0){
    $cats = array();
//В цикле формируем массив разделов, ключом будет id родительской категории, а также
массив разделов, ключом будет id категории
    while($cat =  mysql_fetch_assoc($result)){
        $cats_ID[$cat['id']][] = $cat;
        $cats[$cat['parent_id']][$cat['id']] =  $cat;
    }
}

function build_tree($cats,$parent_id,$only_parent = false){
if(is_array($cats) and isset($cats[$parent_id])){
    $tree = '
    '; if($only_parent==false){ foreach($cats[$parent_id] as $cat){ $tree .= '
  • '.$cat['name'].' #'.$cat['id']; $tree .= build_tree($cats,$cat['id']); $tree .= '
  • '; } }elseif(is_numeric($only_parent)){ $cat = $cats[$parent_id][$only_parent]; $tree .= '
  • '.$cat['name'].' #'.$cat['id']; $tree .= build_tree($cats,$cat['id']); $tree .= '
  • '; } $tree .= '
'; } else return null; return $tree; } echo build_tree($cats,0);//результат в html результат в виде html: Вопрос: возможно ли получит дерево категории в виде массива не зависимо от вложенности


Ответы

Ответ 1



Вопрос: возможно ли получит дерево категории в виде массива не зависимо от вложенности ? Отвечаю на этот вопрос во втором примере ! Хотя и первый тоже может понадобится.В моём коде он выводит категории в dropdown lists(

Комментариев нет:

Отправить комментарий