Помогите с построением дерева на php

Статус: Offline
Реєстрація: 12.04.2011
Повідом.: 76
Говорю сразу я новичок в программировании.
Ситуация такая пишу небольшой сайт, вернее что то типа каталога товаров.
Так вот есть база данных, в ней таблица с группами товаров. Мне нужно вывести дерево каталогов. Честно говоря не понимаю логику как это делать? Может кто то мне разъяснить как это можно организовать.
Таблица с группами: group_wares
В ней есть поля:
code_group_wares - код группы
code_parent_group_wares - код родительской группы
name - название группы

Я понимаю что это нужно делать с помощью рекурсии, но я с рекурсиями никогда еще не сталкивался и не имею особого опыта их писать
 
Чтобы понять рекурсию нужно понять рекурсию.

Нужна подсказка? Или готовое решение?
 
В книге "Разработка web-приложений с помощью PHP и MySQL" Веллинга и Томсон (4-е издание), на странице 744 рассматривается решение аналогичной задачи, только вместо товаров выводится дерево сообщений форума.
 
Вообще то мне нужна подсказка. Думаю решение и сам найду
 
Код:
function renderMenu(array $allItems, $parentId=0)
{
    foreach ($allItems as $itemId=>$item) {
        if (parentId != $item['parentId']) {
            continue;
        }
        renderItem($item);
        renderMenu($allItems, $itemId);
    }
}

вот и все. воды дать?
 
Человек же подсказку просил, а не решение. Нехорошо это, нехорошо.

Хотя угадывается ход событий:

[sherlock holmes mode]
14:32 поциент читает пост
16:42 решение найдено, и даже немного воды осталось. (2 часа потел ок) но тут внезапно ТС говорит что нужна подсказка. Поциент думает :"что же это Я зря пахал 2 часа?" И выкладывает решение.
[/sherlock holmes mode]
 
Человек же подсказку просил, а не решение. Нехорошо это, нехорошо.

Хотя угадывается ход событий:

[sherlock holmes mode]
14:32 поциент читает пост
16:42 решение найдено, и даже немного воды осталось. (2 часа потел ок) но тут внезапно ТС говорит что нужна подсказка. Поциент думает :"что же это Я зря пахал 2 часа?" И выкладывает решение.
[/sherlock holmes mode]
Решение намного интересней с его стороны, и к тому же это послужит хорошим примером для него как от участника с большим опытом.
 
Спасибо за помощь. Буду пытаться реализовать
 
Говорю сразу я новичок в программировании.
Ситуация такая пишу небольшой сайт, вернее что то типа каталога товаров.
Так вот есть база данных, в ней таблица с группами товаров. Мне нужно вывести дерево каталогов. Честно говоря не понимаю логику как это делать? Может кто то мне разъяснить как это можно организовать.
Таблица с группами: group_wares
В ней есть поля:
code_group_wares - код группы
code_parent_group_wares - код родительской группы
name - название группы

Я понимаю что это нужно делать с помощью рекурсии, но я с рекурсиями никогда еще не сталкивался и не имею особого опыта их писать

Это все фигня. Почитай доку про NestedSets(Вложенные множества).
Не надо будет никакой рекурсии
 
Назад
Зверху Знизу