И снова всё те же самые деревья :(

Magnat

Guest
И снова всё те же самые деревья :(

М-да.. насоветовали много.. но то что-то не работает то структура не та :(

Народ как можно без рекурсии собрать до купы дерево? id parent_id sort name

?????
Срочно нужно.. плиз помогите....

P.S. ту статью, которая на этом сайте о деревьях ен предлагать, тот скрипт не работает ....
 

Нечто

Психолог РНРClub
Magnat
Структура не та.
Если записей не так много, собирайте все одним запросом и потом уже работайте.
 

Magnat

Guest
вложенность неограничена...
а если собрать всё в массив типа $array["id"] = array("name", "parent", "sort"); ???

Можно его будет потом как нить переформировать?
 

Нечто

Психолог РНРClub
вложенность неограничена...
Это не важно. Важно -- количество записей.
Можно его будет потом как нить переформировать?
Вот я об этом и говорю. С массивом в php можно сделать все, что угодно, просто нужно знать что ;-)
 

Magnat

Guest
Array
(
[4] => Array
(
[0] => Cat Name 4
[1] => 0
[2] => 10
)

[5] => Array
(
[0] => Cat Name 1.2
[1] => 1
[2] => 10
)

[9] => Array
(
[0] => Cat Name 2.1
[1] => 2
[2] => 10
)
)

Ты чтонить можешь посоветовать по такому массиву?
[4] => Array - 4 это id категории, а потом внутри последоваетльно идут название, парент, и сортировка в подразделе
 

Нечто

Психолог РНРClub
А как нужно "собрать дерево"?
То есть можно, например, выбрать путь до определенного нода.
 

Magnat

Guest
Originally posted by Нечто
А как нужно "собрать дерево"?
То есть можно, например, выбрать путь до определенного нода.
что-т я тебя не совсем понял...
 

Нечто

Психолог РНРClub
Magnat
Ну вот ты выбираешь в массив все ноды дерева в указанном тобой формате. Если из них нужно построить дерево, то в каком формате?
Дерево целиком вот так:
Код:
Array (
[1] => array (
          [2] => "",
          [3] => array(
                     [5] => "",
                     ),
)
[4] => "",
[6] => "",
)
То есть все id деревом.
Но, скорее всего, нужно просто выбрать всю ветку от корня до определенного узла (например, вызванной категории).
 

Magnat

Guest
Originally posted by SiMM
ИМХО, пациент не в состоянии вкурить в эту ссылку. А без рекурсии тут Profic уже давал итерационный алгоритм ;)
В том то вся и проблема, что не одну ветку нужно вывести, а полностью все. На одной страничке построить дерев со всеми его ветвями :))

-~{}~ 24.12.04 00:54:

Originally posted by Нечто
Magnat
Ну вот ты выбираешь в массив все ноды дерева в указанном тобой формате. Если из них нужно построить дерево, то в каком формате?
Дерево целиком вот так:
Код:
Array (
[1] => array (
          [2] => "",
          [3] => array(
                     [5] => "",
                     ),
)
[4] => "",
[6] => "",
)
То есть все id деревом.
Но, скорее всего, нужно просто выбрать всю ветку от корня до определенного узла (например, вызванной категории).
несовсем.. :))) Не один узел, а все...
 

SiMM

Новичок
Автор оригинала: Magnat
В том то вся и проблема, что не одну ветку нужно вывести, а полностью все. На одной страничке построить дерев со всеми его ветвями :))
Я пока вижу только одну проблему - полное нежелание решить проблему самостоятельно. Nested sets позволяет решить эту проблему одним запросом, использование итерационного алгоритма так же не исключает такую возможность.
 

Magnat

Guest
Originally posted by SiMM
Я пока вижу только одну проблему - полное нежелание решить проблему самостоятельно. Nested sets позволяет решить эту проблему одним запросом, использование итерационного алгоритма так же не исключает такую возможность.
Ладно, всё нормлаьно. Пробдему решим стандартными путями. С нормальной табличкой, а не тремя полями.... :)))
 
Сверху