MySQL запрос для получения количества каскадных элементов в таблице категорий - PullRequest
1 голос
/ 09 мая 2011

У меня есть таблица дерева категорий

id, parent_id, name, count

и другие таблицы, которые подключены через category_id, которые не имеют значения сейчас.

с различными запросами я получаю счет (продукты, пользователи, новости и т. Д.) Для всех категорий.

Допустим, у меня есть корневая категория ЭЛЕКТРОНИКА, в которой есть дети первого уровня (телевизоры, фотокамеры, компьютеры). У каждого из них есть еще несколько подкатегорий ...

ELECTRONICS
    - TVs
        * LCD
        * Plasma
        * CRT
    - PHOTOCAMERAS
        * DSLR
        * Compact
    - COMPUTERS
        * Laptops
        * Desktops
        * Netbooks

и т.д ...

Теперь я могу подсчитать количество товаров для определенной категории ... Чего я хотел бы добиться, так это заполнить подсчеты по категориям родителей!

т. Е. Если у меня есть 3 продукта для плазменных телевизоров и 5 продуктов для ЖК-телевизоров и 2 продукта для ЭЛТ ... количество телевизоров должно составлять 10.

Так что я борюсь с логикой счета ... Я знаю, что должен рассчитывать с самого глубокого уровня, но как мне это сделать? Какой правильный код PHP для этого?

Единственное, что у меня есть, это массив CATS всех строк категорий, отформатированных так:

$CATS = array(
    [cat_id] => array(id, parent_id, name, count),
    [cat_id] => array(id, parent_id, name, count),

);

1 Ответ

1 голос
/ 09 мая 2011

Может быть вложенным набором лучше соответствует вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...