Дерево и рекурсия

Савелей

Новичок
Дерево и рекурсия

Есть таблица

id|parent|name


как лучше вывести дерево, рекурсией или выбрать все в массив а мотом сортировать?

а может есть еще вырианты?
 

Фанат

oncle terrible
Команда форума
Я всё хотел тебя спросить. Савелий, скажи, ты даже в собственном имени е от и отличить не можешь?

"мотом сортировать" всё равно придётся рекурсией, ток что ты задал вопрос "как лучше вывести - рекурсией или рекурсией".
ещё вопросы будут?
 

Савелей

Новичок
да будут не все такие умные,

а по теме, мне нужно узнать что лучше рекурсия для вывода всего дерева (много select) или одним запросом выбрать в массив и ПОСЛЕ енто все сортировать.

а насчет моего имя там нет "И" там именно "Е"
 

Фанат

oncle terrible
Команда форума
то есть, ты спрашиваешь, что лучше - одним селектом выбирать 10 записей, или десятью?
а сам сообразить не можешь?
 

Савелей

Новичок
да не могу, записей очень много порядка 2000-2600т

что одним долго, что 2000 и еще дольше:)

может еще есть варианты?

-~{}~ 17.01.07 16:16:

ладно забыли, это я туплю.
 

xoxa

Новичок
Я делаю так:
function addByUpId($upid,&$arr){
$query = 'SELECT * FROM `sections` WHERE (`upid` ='.$upid.') ORDER BY `label`';

$res = mysql_query($query);
if (!$res) exit;

while ($row = mysql_fetch_assoc($res)){
$arr[] = $row;
addByUpId($row['id'],$arr);
}//while
}

function getrazdelslist(){
$razdels = array();
$query = 'SELECT * FROM `sections` WHERE (`upid` = 0) ORDER BY `label`';
$res = mysql_query($query);

if (!$res) return $res;

while ($row = mysql_fetch_assoc($res)){
$razdels[] = $row;
addByUpId($row['id'],$razdels);
}//while

return $razdels;
}
 

Фанат

oncle terrible
Команда форума
xoxa
не пробовал читать топик перед тем, как писать в него?
 

xoxa

Новичок
Фанат

Пробывал, читаю....

Человек, хочет знать как выводить дерево. Я показал свой вариант. Может быть он чем то поможет автору топика и(или) кому нибудь еще. Что то не так ?
 

Фанат

oncle terrible
Команда форума
Он и так знает твой вариант. И спрашивал совсем про другое.
И я ему ответил. В том смысле, что по запросу на раздел - неоптимально. И тут ты со своим кодо высовываешься, который именно это и делает!
 

xoxa

Новичок
Я не высовывался, а выразил свое мнение. Для меня это два очень разных понятия. Это во-первых.

Во-вторых, мой ответ в рамках темы ? Конечно, да.

В-третьих, когда я начинал (имеется ввиду изучать PHP), из твоего первого поста
Я всё хотел тебя спросить. Савелий, скажи, ты даже в собственном имени е от и отличить не можешь?
и второго
то есть, ты спрашиваешь, что лучше - одним селектом выбирать 10 записей, или десятью?
,мне думается, мало бы чего полезного извлек, кроме общих слов.

Я же выложил конкретный вариант реализации, в коде так сказать, а не в словах. Если добавил мусора на этом форуме - искренне извиняюсь. Мне то казалось, что форум для этого и создан, чтобы более образованные могли помочь начинающим. Или я опять все не так понял ?
 

Royal Flash

-=MaestrO=-
Савелей
Лучше - 1 запрос, который генерируется пхп скриптом. Поддерживает около 60 уровней вложенности и довольно быстро работает с большими объемами информации.
Пример: http://dbtree.dklab.ru/search.php
 

Vallar_ultra

Любитель выпить :)
xoxa

Ч.с. не пиши такого больше! И ОЧЕНЬ ВНИМАТЕЛЬНО перечитай вот это:
то есть, ты спрашиваешь, что лучше - одним селектом выбирать 10 записей, или десятью?


-~{}~ 29.01.07 01:24:

Савелей

Выбирай одним запросом, и уже в обходе рез-ов формируи что твоей душе угодно.
 

Савелей

Новичок
Автор оригинала: Royal Flash
Савелей
Лучше - 1 запрос, который генерируется пхп скриптом. Поддерживает около 60 уровней вложенности и довольно быстро работает с большими объемами информации.
Пример: http://dbtree.dklab.ru/search.php
Спасибо то что нужно:)
 
Сверху