| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Никита Козин 12.05.2005 12:01
Есть две таблицы форума:CREATE TABLE `fmessage` ( `fmessage_id` int(10) NOT NULL auto_increment, `parent_id` int(10) NOT NULL default '0', `thread_id` int(10) NOT NULL default '0', `level` int(10) NOT NULL default '0', `hierarchy` text NOT NULL, `fmessage_type_id` int(1) NOT NULL default '0', `title` varchar(255) NOT NULL default '', `description` text, `author_name` varchar(255) NOT NULL default '', `author_id` int(10) NOT NULL default '0', `dt_published` datetime NOT NULL default '0000-00-00 00:00:00', `dt_edit` datetime NOT NULL default '0000-00-00 00:00:00', `is_published` tinyint(4) NOT NULL default '1', `is_active` tinyint(4) NOT NULL default '1', `is_default` tinyint(4) NOT NULL default '0', `rights_to_access` int(10) NOT NULL default '0', `only_registred` tinyint(4) NOT NULL default '0', PRIMARY KEY (`fmessage_id`), UNIQUE KEY `message_id` (`fmessage_id`), KEY `fmessages_type_id` (`fmessage_type_id`), KEY `parent_id` (`parent_id`), KEY `thread_id` (`thread_id`), KEY `level` (`level`), KEY `is_published` (`is_published`) ) CREATE TABLE `fbody` ( `fmessage_id` int(10) NOT NULL, `body` text NOT NULL, KEY `fmessage_id` (`fmessage_id`) )При добавлении сообщения в форум сначала записывается в fmessage, а затем в fbody.fmessage_id вставляется значение fmessage.fmessage_id, т.е. last_insert_id... Если текста у сообщения нету, значит в fbody ничего не пишется.
@getThreadMessages[thread_id]
^if(def $thread_id && ^thread_id.int(0) != 0){
$result[^csql.table{
SELECT
fmessage_id AS message_id
parent_id,
level,
title,
author_name,
author_id,
dt_published,
dt_edit,
is_active
FROM
fmessages
WHERE
thread_id = $thread_id AND
is_published = 1 AND
fmessage_type_id = $MESSAGE_ID
ORDER BY
hierarchy DESC,
dt_published DESC
}]
}