Немного не пойму логику.
Спустя 3 дня, 9 часов, 30 минут, 49 секунд (11.01.2010 - 03:17) Dron19 написал(а):
Какую корзину, объясните ее предназначение.
Спустя 7 часов, 27 минут, 21 секунда (11.01.2010 - 10:45) FatCat написал(а):
Пример корзины для форума.
Все темы и сообщения в таблице имеют поле forum_id - айдишник форума, в котором находится тема.
Создается новый форум под корзину.
При удалении темы или сообщения происходит сверка поля forun_id с айдишником корзины. Если не совпало (удаление вызвано не из корзины) - тема/сообщение не удаляется из базы, а лишь апдейтится forum_id на "корзинный" - удаленное попадает в корзину. Если совпало (удаление из корзины) - тогда уже удаление записей из базы.
На самом деле немного сложнее при удалении отдельных сообщений: под них создается новая тема в корзинном форуме, и в нее уже переносятся удаляемые сообщения.
И для восстановления соответственно пишутся служебные метки: при удалении сообщения в него дописывается айдишник темы, чтобы при восстановлении считать эту информацию и восстановить в нужную тему. При удалении темы в нее пишется айдишник форума, из которого удалили, чтобы при восстановлении вернуть в исходный форум.
Все темы и сообщения в таблице имеют поле forum_id - айдишник форума, в котором находится тема.
Создается новый форум под корзину.
При удалении темы или сообщения происходит сверка поля forun_id с айдишником корзины. Если не совпало (удаление вызвано не из корзины) - тема/сообщение не удаляется из базы, а лишь апдейтится forum_id на "корзинный" - удаленное попадает в корзину. Если совпало (удаление из корзины) - тогда уже удаление записей из базы.
На самом деле немного сложнее при удалении отдельных сообщений: под них создается новая тема в корзинном форуме, и в нее уже переносятся удаляемые сообщения.
И для восстановления соответственно пишутся служебные метки: при удалении сообщения в него дописывается айдишник темы, чтобы при восстановлении считать эту информацию и восстановить в нужную тему. При удалении темы в нее пишется айдишник форума, из которого удалили, чтобы при восстановлении вернуть в исходный форум.