Новости | 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 }] }