Алгоритм определения уровня вложенности
Имеется скрипт просмотра дерева категорий. Стоит задача загружать из базы только те подкатегории, что были открыты пользователей. Список
открытых категорий хранится в базе в таблице "xf_nodes_addon", основной
список категорий хранится в "xf_node".
Имеется проблема с определением вложенности. Мне нужно как-то отмечать уровень вложенности,
в то же время сделать, чтобы подкатегории открывались под родителями.
Пока не знаю какой алгоритм придумать. Жду ваших откликов. Спасибо!
Данный запрос выводит родительские категории и открытые подкатегории.
SELECT node_id,
title,
admin_id as open,
parent_node_id
FROM `xf_node`
LEFT JOIN `xf_nodes_addon` open USING(`node_id`)
WHERE `parent_node_id` = 0 OR `parent_node_id` IN (SELECT `node_id` FROM `xf_nodes_addon`)