Стандартная таблица для дерева в парадигме adjacent list, то есть обычной "плоской" таблицы минимально состоит из отношений:
id
pid
name
В pid хранится значение родительского id. Нормально получить из бд дерево толком нельзя, или придется join'ить таблицу саму с собой столько раз, сколько там уровней, о числе которых надо знать заранее. Приходится загружать все, а скриптом уже превращать плоский список в деревянный. Получив дерево в массиве можно смотреть как его отрендерить в хтмл со всеми отношениями. Вот и все.
|