powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод дерева на Perl рекурсивно
5 сообщений из 5, страница 1 из 1
Вывод дерева на Perl рекурсивно
    #32346434
romapost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем столкнулся с такой проблемой когда надо вывести каталог из таблицы. Пытаюсь применять рекурсия но не фига не работает.

//Готовим запрос
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();

Почему -то не работает???
...
Рейтинг: 0 / 0
Вывод дерева на Perl рекурсивно
    #32348411
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя тогда $sth должна быть локальной для этой процедуры. Иначе в процедуре ты портишь результат предыдущего запуска.
...
Рейтинг: 0 / 0
Вывод дерева на Perl рекурсивно
    #32349674
romapost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что интересно блин,под MySQL прекрасно работает,а под FireBird выёживается и выводит тольку первую ветку

Почему так?
...
Рейтинг: 0 / 0
Вывод дерева на Perl рекурсивно
    #32349906
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полагаю что результат может зависеть от реализации конкретного драйвера,
но в общем случае такая вещь не совсем корректна.
Надежнее вытаскивать дерево средствами SQL. Как именно это делается
можно поискать в форуме по MSSQL. Там это обсуждалось неоднократно.
...
Рейтинг: 0 / 0
Вывод дерева на Perl рекурсивно
    #32350219
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это долго работать не будет? Столько запросов исполнять, может как-то одним запросом вызвать, например отсортировав по ParentID и потом по ID, поменяв при необходимости структуру таблиц, и уже обработать потом...?

mahoune
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Вывод дерева на Perl рекурсивно
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]