Приведу небольшой примерчик как одним запросом и одним циклом получить иерархию разделов в виде:
Array ( [ROOT] => Array ( [CHILD] => Array ( [12] => Array ( [ID] => 12 [~ID] => 12 [NAME] => Раздел с ид 12 [~NAME] => Раздел с ид 12 [DEPTH_LEVEL] => 1 [~DEPTH_LEVEL] => 1 [CHILD] => Array ( [63] => Array ( [ID] => 63 [~ID] => 63 ............. [CHILD] => Array ( ........ ) ) ....... [63] => Array ( [ID] => 63 [~ID] => 63 ............. ) ....... ) ) .............. ) ) )
На мой взгляд, с такой структурой работать в большинстве случаев удобнее, чем со списком, отсортированном по LEFT_MARGIN
Итак код:
Читать далее