EVOSandru6: есть несколько видов хранения иерархической информации: материальный путь (где используется поле, в котором через зпт указывается путь из ID веток до корня). Удобно для быстрого доступа ко всему пути.
есть Adjustmet list - То что вы использовали ранее. Есть поле, которое указывает на ветку родителя. легко добавлять новые. Сложно (пере)собирать пути, сложно собирать ветки.
есть Nested Set - сложно добавлять/манипулировать (с математической т.з.). Легко считывать, делать поиск и перекрещивания всякие. Хорошей особенностью является в 1 таблице хранить одновременно несколько веток, которые никак на друг друга не будут влиять. это тот самый рут. Это дополнительное поле, по которому вы лишь отсекаете нужную ветку. поле какого либо типа может быть, но принято в целях экономии использовать INT. Есть две ветки - библиотека тех информации, библиотека фантастики. Надо для каждой библиотеки хранить 2 разных структуры. вот для одной используйте один рут, для второй используйте второй рут. и все. скрипт будет выбирать записи из базы и фильтровать по руту. затем уже построит дерево
Часто можно встретить использование сразу двух/трех одновременно
в битриксе используется Adjustment + Nested Set
в CMS MadeSimple используется Material Path + Adjustment list
ну я соглашусь ставить его на сервер. для быстрой правки чего либо в авральных ситуациях (через гит все ж больше времени уйдет).
но я вижу люди разрабатывают ПО и верстают в этом. Не понимаю как без подсказок можно работать, как можно без быстрого перехода по контрол клик и т.п.
FanatPHP: ставлю 90% на пхпквери. за yii за 5 лет не видел проблем. на днях в связке с битриксом поймал. битрикс в методе ciblockelement::update херачит память куда то
FanatPHP: он использует AR и устаревший фреймворк. Не грузи ему мозг. AlexChebanenko: как варик разбей работу срипта на последовательности от 100 до 1000 итераций за раз. потом запускай занова, но с оффсетом на выполненные итерации.
память теряется в пхпквери. его уж тожно разбирать не будешь
Алексей Емельянов: 777. Приостановил я эту задачу на текущий момент. пусть полный доступ к серверу дают. там отпишусь в причинах. Благодарю за выделенное время.