Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Древоидное меню
 
 автор: Sergey89   (16.07.2006 в 21:48)   письмо автору
 
 

Имеется массив:

$menu[0][0] = "Меню 1";
$menu[0][1][0] = "Субменю 1";
$menu[0][1][1] = "Субсубменю 1";
$menu[1][0] = "Меню 2";
$menu[1][1][0] = "Субменю 2";
Необходимо отобразить его в древовидной форме или предложите другой способ хранения дерева. Возможно это сделать? Готового решения не жду, хотябы намёки на то как лучше сделать обход массива. Тоесть должно получится такое дерево:
Меню1
|__Субменю 1
|  |__Субсубменю1
Меню 2
|__Субменю 2

Массив заполняется информацией из БД. Написать рекурсивную функцию, которая будет каждый свой вызов делать запрос в БД не могу, т.к. запрос должен быть только один.

   
 
 автор: Loki   (16.07.2006 в 23:30)   письмо автору
 
   для: Sergey89   (16.07.2006 в 21:48)
 

можно делать один запрос к БД выбирающий все пункты меню, а дерево строит рукурсивная функция на php
можно выбирать из базы всю структуру при помощи одного запроса из нескольких левых объединений, но желательно хотябы примерно представлять уровень вложенности.
можно воспользоваться методом Nested Sets. Тут вообще все встает с ног на голову: все что наньше требовало рекурсии - делается в один запрос, а то что было просто - заставит поломать голову.
http://phpclub.ru/detail/article/db_tree

выбирайте.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования