Программирование > Теория, алгоритмы и стандарты
Создание много уровневой структуры. Как организовать?
USE:
--- Цитировать ---Xander:
Если ты уверен в том, что делаешь - то на здоровье.
--- Конец цитаты ---
нужна была идея, а ты ее дал - это самое главное, теперь у меня начала работать карта сайта ;-)
спасибо, кстати.
Xander:
2moderators: а перекиньте ветку в Алгоритмы. Там она гораздо уместнее будет.
Maniac:
Господа, не хочу быть ложкой дёгтя в бочке райского наслаждения, но не кажется ли Вам, что от такого кода загнется SQL-сервер? (я про количество запросов). В MP 1.5.x я подобную задачу решил несколько по-иному ($section - строка из БД с описанием текущего раздела):
$query=$db->query("SELECT * FROM $table_sections WHERE 1 ORDER BY sort ASC");
$parent_array=array();
foreach($tmp as $line)
$parent_array[$line[\'sid\']]=array($line[\'parent\'],$line[\'snamr\'],$line[\'sname\']);
$parent=$section[\'parent\'];
while($parent!=0)
{
$nav_array[]=array($parent_array[$parent][1],$parent_array[$parent][2]);
$parent=$parent_array[$parent][0];
}
У меня верхний parent - 0
Макс:
[off] ну а я в который уже раз напомню, что деревья, которые сравнительно редко меняют свою структуру лучше хранить по алгоритму Nested Sets, позволяющему за 1-2 запроса получить почти любой фрагмент дерева. http://dev.e-taller.net/dbtree
Хотя мне известен один древовидный форум с 30 000 сообщений успешно работающий и хранящий дерево сообщений по этому алгоритму. [/off]
ThE0ReTiC:
--- Цитировать ---деревья, которые сравнительно редко меняют свою структуру
--- Конец цитаты ---
позволю усомниться, что система, типа форума, относится к данному классу деревьев [off]могу ошибаться...[/off]
Навигация
Перейти к полной версии