|
Вывод дерева на Perl рекурсивно
|
|||
---|---|---|---|
#18+
Вообщем столкнулся с такой проблемой когда надо вывести каталог из таблицы. Пытаюсь применять рекурсия но не фига не работает. //Готовим запрос my $sth=$dbh->prepare(qq{select id,name from katalog where parent_id=?}); //Функция вывода каталога sub get_tree { my $id=shift || 0; $sth->execute($id); while (@row=$sth->fetchrow_array) { print $row[1]."\n"; &get_tree($row[0]); } } //Вызов функции get_tree(); Почему -то не работает??? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2003, 14:02 |
|
Вывод дерева на Perl рекурсивно
|
|||
---|---|---|---|
#18+
У тебя тогда $sth должна быть локальной для этой процедуры. Иначе в процедуре ты портишь результат предыдущего запуска. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2003, 19:48 |
|
Вывод дерева на Perl рекурсивно
|
|||
---|---|---|---|
#18+
Что интересно блин,под MySQL прекрасно работает,а под FireBird выёживается и выводит тольку первую ветку Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 17:55 |
|
Вывод дерева на Perl рекурсивно
|
|||
---|---|---|---|
#18+
Полагаю что результат может зависеть от реализации конкретного драйвера, но в общем случае такая вещь не совсем корректна. Надежнее вытаскивать дерево средствами SQL. Как именно это делается можно поискать в форуме по MSSQL. Там это обсуждалось неоднократно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 21:19 |
|
Вывод дерева на Perl рекурсивно
|
|||
---|---|---|---|
#18+
А это долго работать не будет? Столько запросов исполнять, может как-то одним запросом вызвать, например отсортировав по ParentID и потом по ID, поменяв при необходимости структуру таблиц, и уже обработать потом...? mahoune ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2003, 10:36 |
|
|
start [/forum/topic.php?fid=23&msg=32349674&tid=1480205]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
128ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 215ms |
0 / 0 |