Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
tricord 13.07.2005 11:22
Возможно.# достаем не более 20 корневых сообщений (parent_id == 0) $rootMessages[^getMessagesByParent[0;20]] # достаем все сообщения в тредах, которые мы только что достали $messages[^getMessagesByThread[$rootMessages]] # создаем хеш, в котором ключи — id элемента, содержание — таблица со всеми их дочерними элементами $hashTree[^createHashTree[$messages]] # cоздаем хэш со всеми родителями текущего элемента(id) включая и его самого. $ParentsForIdHash[^getParentsForIdHash[$form:id]] @getParentsForIdHash[id] $MessageById[^getMessageById[$id]] $MessageByThread[^getMessagesByThread[$MessageById.thread_id]] $parentsMessage[^hash::create[]] ^parentsMessage.add[ $.0(0) ] $str_hash[^MessageByThread.hash[forum_message_id]] $pid($id) ^while($pid){ ^parentsMessage.add[ $.[$pid][$pid] ] $pid($str_hash.[$pid].parent_id) } # выводим все его элементы в виде раскрывающегося дерева # c условием: # ^if($ParentsForIdHash.[parent_id элемента]){ # # }Не могу понять, как используя это условие изменить метод
@printMessagesByParent[parent_id].