@mapleart

Как реализовать удаление переписки в чате?

Здравствуйте. Я написал для своего проекта небольшой чат. С возможностью создавать конференции. Вот примерно так выглядит БД:
CREATE TABLE `prefix_chat_room` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `admin_id` int(11) NOT NULL ,
  `type` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `prefix_chat_message` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
  `room_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `answer_to` int(11) NOT NULL DEFAULT '0',
  `message` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `prefix_chat_room_relation` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `room_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `message_id` int(11) NOT NULL DEFAULT '0'
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


Сейчас я хочу реализовать возможность удаления переписки... Если делать удаление всей переписки, то я добавлю например поле delete_id в таблицу prefix_chat_room_relation и буду показывать только те сообщения у которых ид больше delete_id.

А если делать удаление по сообщениям, как сделать так чтобы сообщения не удалялись у других участников переписки?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
@synapse_people
Сделай 2 флага кто уже удалил, а кто нет на prefix_chat_message
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы