Ответов: 0 Просмотров: 315
|
Мне нужно строки из таблицы в многоуровневые массивы. Как это сделать, я не могу понять, и найти в поиске тоже, потому что не могу сформулировать правильный запрос.
У меня имеется таблица в базе данных с сотнями строк состоящие из нескольких полей
ID (ai) | NAME | PARENT
Представим это как категории. Если PARENT в строке NULL, значит это первый уровень. Уровней вложений может быть бесконечно. Если в PARENT имеется какое то значение, то оно относится по ID к одному из значений выше в этой таблице, это дочерний элемент.
По итогу мне нужно получить с вложенными дочерними элементами многоуровневый массив. Давайте покажу на примере
Например имеем:
ID | NAME | PARENT
--------------------
1 | тест 1 | NULL
2 | тест 2 | NULL
3 | тест 3 | 1
4 | тест 4 | 3
Сначала выгружаю весь список из бд, а дальше нужно распределить по массиву кто в кого вложен. Должен получиться такой массив
CODE ( htmlphp):
скопировать код в буфер обмена
( ( [ID] => 1 [NAME] => тест 1 ( [ID] => 3 [NAME] => тест 3 ( [ID] => 4 [NAME] => тест 4 [CHILDREN] => ) ) ) ( [ID] => 2 [NAME] => тест 2 [CHILDREN] => ) )
Как это можно реализовать?
Возникали идеи с foreach, но в итоге заходил в тупик когда нужно как то в памяти хранить очередность вложений того или иного родителя |