В сети миллион примеров как вывести дерево из базы, и не смог найти ни одного как же записать дерево в базу.
Использую jQuery-плагин jsTree, он позволяет строить деревья с неограниченной вложенностью, в итоге после постройки он может вернуть все дерево в виде json-строки, в php можно легко это превратить в многомерный массив.
И вот дальше нужно как-то так обойти этот массив и записать дерево в базу, пробовал написать, но столкнулся с проблемой: когда обошли детей одной из веток и вдруг узнали что у этой ветки есть братья то не могу вернуть обратно нужное значение родителя.
Вот что у меня получилось сделать:
example.php
Если запустить пример то сразу видно по результату что не всем правильно поставились родители, помогите понять в чем причина?
Цель записать все это вот в таком простом виде
---------------------------------
id | parent_id | name
---------------------------------
1 | 0 | node 1
---------------------------------
2 | 1 | node 1-1
---------------------------------
3 | 1 | node 1-2
---------------------------------
4 | 0 | node 2
---------------------------------
5 | 4 | node 2-1
---------------------------------
6 | 4 | node 2-2
---------------------------------
7 | 6 | node 2-2-1
---------------------------------
8 | 4 | node 2-3
---------------------------------