Многомерные деревья (сново)
приветы
Теперь проблема "Многомерных деревьев" коснулась и меня
поискал кроме phpDBtree ничего не нашёл
:::::К ЧТЕНИЮ НЕ ОБЯЗАТЕЛЬНО:::::
[ЦВЕТОМ=royalblue]
phpDBtree
-------------------------------------------------------------
если понял правильно то структура базы такая
что при добавлении ещё одного элемента придётся
менять и другие строки
те. мы имеем
элемент 1 [1] [10]
|
+ - элемент 2 [2] [7]
| |
| + - элемент 3 [3] [4]
| + - элемент 4 [5] [6]
|
+ - элемент 5 [8] [9]
чтоб вставить под элемент 4 скажем элемент 4.1
придётся изменить по крайней мере
элемент 2 [2] [7]
элемент 5 [8] [9]
элемент 1 [1] [10]
новое дерево
элемент 1 [1] [12]
|
+ - элемент 2 [2] [9]
| |
| + - элемент 3 [3] [4]
| + - элемент 4 [5] [8]
| |
| + - элемент 4.1 [6] [7]
|
+ - элемент 5 [10] [11]
правильно?
-------------------------------------------------------------------------
[/ЦВЕТОМ]
если да
мне не подходит
:::::ПРОДОЛЖЕНИЕ::::::
я думаю так удобнее базу сформировать
(имя, ключ, пренодлежность к ключу)
элемент 1 [1] [0]
|
+ - элемент 2 [2] [1]
| |
| + - элемент 3 [3] [2]
| + - элемент 4 [4] [2]
|
+ - элемент 5 [5] [1]
но вот тут проблемма пройти это дерево
неработает
во время думак такие алгоритмы выстраиваются с внутреннем циклом , двумя счетчиками жуть
-----------------------------------------------------------------------------
Кто сталкивался может поделится алгоритмом для сортировкиф
приветы
Теперь проблема "Многомерных деревьев" коснулась и меня
поискал кроме phpDBtree ничего не нашёл
:::::К ЧТЕНИЮ НЕ ОБЯЗАТЕЛЬНО:::::
[ЦВЕТОМ=royalblue]
phpDBtree
-------------------------------------------------------------
если понял правильно то структура базы такая
что при добавлении ещё одного элемента придётся
менять и другие строки
те. мы имеем
элемент 1 [1] [10]
|
+ - элемент 2 [2] [7]
| |
| + - элемент 3 [3] [4]
| + - элемент 4 [5] [6]
|
+ - элемент 5 [8] [9]
чтоб вставить под элемент 4 скажем элемент 4.1
придётся изменить по крайней мере
элемент 2 [2] [7]
элемент 5 [8] [9]
элемент 1 [1] [10]
новое дерево
элемент 1 [1] [12]
|
+ - элемент 2 [2] [9]
| |
| + - элемент 3 [3] [4]
| + - элемент 4 [5] [8]
| |
| + - элемент 4.1 [6] [7]
|
+ - элемент 5 [10] [11]
правильно?
-------------------------------------------------------------------------
[/ЦВЕТОМ]
если да
мне не подходит
:::::ПРОДОЛЖЕНИЕ::::::
я думаю так удобнее базу сформировать
(имя, ключ, пренодлежность к ключу)
элемент 1 [1] [0]
|
+ - элемент 2 [2] [1]
| |
| + - элемент 3 [3] [2]
| + - элемент 4 [4] [2]
|
+ - элемент 5 [5] [1]
но вот тут проблемма пройти это дерево
PHP:
function by_node($arr1,$arr2)
{
return ($arr1["id"]>$arr2["parent_id"])?1:-1;
}
$tree=$db->GetRows("SELECT * FROM ".$DB_TAB_KEY."cat");// получаем все данные дерева в виде $tree[row][col]
usort($tree,by_node); // пересиртировываем
...
во время думак такие алгоритмы выстраиваются с внутреннем циклом , двумя счетчиками жуть
-----------------------------------------------------------------------------
Кто сталкивался может поделится алгоритмом для сортировкиф