| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
dRmx 12.09.2003 01:10 / 12.09.2003 01:11
Решил я помучаться, и видимо опять придется быть ламером, т.к. вроде бы на ровном месте спотыкаюсь. Делаю пример. http://www.parser.ru/examples/trees/ — построение древовидных структур на примере простенького форума. Прочитал я DISCLAIMER. Делаю. Начал с того, что прочитал еще все остальное. В глаза явных ошибок не бросилось. (Может кто-то усмехнется, и не будет дальше читать даже, говоря: «Ну придурок», но мне пофиг — я учусь.) Копирую все подряд, ожидая каким же будет первый мат. При плагиате кода@main[]
^MAIN:pSQL.server{
# достаем не более 20 корневых сообщений (parent_id == 0)
$rootMessages[^getMessagesByParent[0;20]]
# достаем все сообщения в тредах, которые мы только что достали
$messages[^getMessagesByThread[$rootMessages]]
# собственно выводим все данные о сообщениях в виде дерева
^printMessagesByParent[$messages;0]
}возникают вопросы: во-первых, что такое server, понятно что утка, но что должно быть на его месте? Во-вторых, почему pSQL, а не SQL? А ошибка вылетает(void) not a method or junction, can not call itТипа метод не определен. Как нет, если он есть:
getMessagesByParent
@getMessagesByParent[parent_id;limit]
$result[^table::sql{
SELECT
forum_message.forum_message_id,
parent_id,
thread_id,
title,
author,
email,
dt_published,
forum_message_body.forum_message_id AS is_not_empty
FROM
forum_message
^MAIN:pSQL.left_join[from;forum_message_body;forum_message.forum_message_id = forum_message_body.forum_message_id]
WHERE
^MAIN:pSQL.left_join[where;forum_message_body;forum_message.forum_message_id = forum_message_body.forum_message_id]
^if(def $parent_id){parent_id = ^parent_id.int(0) AND}
is_published = 1
ORDER BY
dt_published
}[^if(^limit.int(0)){$.limit(^limit.int(0))}]]