Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вывод древовидного меню
$qaz=$this->sql->get_results("SELECT * FROM categories;",true);
while($row=$this->sql->assoc($qaz))
{
$data[$row['id']]=$row;
}
$data=$this->mapTree($data);
$re=$this->view_cat($data);
//var_dump($re);
$this->tmpl->set('tmpl_cat',$re);}
При таком варианте данные не выводятся т.е. ничего не происходит. Если сделать var_dump($re); то на выходе получаю NULL. Если так var_dump($data); то получаю array(0) { }. Как я понял не отрабатывается while($row = $this->sql->assoc($qaz))...
В mysql.class.php прописано так:
$qaz=$this->sql->get_results("SELECT * FROM categories;",true);
var_dump( $gaz ) ?
В sql->get_results возвращайте массив с данными, а потом через foreach эти данные обрабатывайте. А то вы обернули стандартные функции MySQL в методы, а толку от этого никакого.
Пример вы взяли хреновый, там работа с ссылками на массив, вы запутаетесь. Возьмите другой пример, проще, и переделайте под себя.
ЮричЪ
Отправлено: 17 Декабря, 2013 - 13:10:08
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2013
$qaz=$this->sql->get_results("SELECT * FROM categories;",true);
var_dump( $gaz ) ?
В sql->get_results возвращайте массив с данными, а потом через foreach эти данные обрабатывайте. А то вы обернули стандартные функции MySQL в методы, а толку от этого никакого.
Пример вы взяли хреновый, там работа с ссылками на массив, вы запутаетесь. Возьмите другой пример, проще, и переделайте под себя.
$re=$this->sql->get_results("SELECT `id`, `name`, `level` FROM `my_tree` ORDER BY `left_key`;",true);
$resl="";
foreach($reas$r){
$resl.="<li>{$r['name']}</li>";
}
$this->tmpl->set('tmpl_cat',$resl);
}
Вывел в шаблон и получил список данных отсортированным значениям left_key.
А вот дальше как вывести деревом, сообразить вообще не могу. Перепробовал целую кучу примеров и остановился на оф. документации Nested Set. Как дальше сортировать и выстраивать по ключам родителей и детей?
DeepVarvar
Отправлено: 17 Декабря, 2013 - 18:47:24
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
ЮричЪ пишет:
Вывел в шаблон и получил список данных отсортированным значениям left_key.
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
DeepVarvar пишет:
Описание drawTreeLinksList($arr) и Реализация в исходнике.
Неужели так трудно было покопаться в документации?
Спасибо большое.
Посмотрел и прикрутил то, что надо. Вроде все выводит, lvl строит дерево. Сейчас разбираю Nested Sets что бы по разному выстраивать дерево.
ЮричЪ
Отправлено: 23 Декабря, 2013 - 10:23:04
Новичок
Покинул форум
Сообщений всего: 6
Дата рег-ции: Дек. 2013
Помог: 0 раз(а)
Вывожу дерево, вложенные категория выводятся правильно только до 2 вложенности. Начиная с 3 вложения ветки уходят в низ.
Я думаю, что проблема у меня в запросе, а именно в сортировке ORDER BY.
Привожу скрини и код.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.