Я создал внутреннюю систему обмена сообщениями на основе базы данных MySQL. В моей структуре БД есть таблица для сообщений, в которой каждое сообщение имеет отправителя user_id и получателя user_id. Входящий почтовый ящик любого пользователя может заполняться в соответствии с их собственным отношением идентификатора в качестве получателя в таблице сообщений. Моя проблема заключается в том, когда я пытаюсь удалить любое сообщение, чтобы оно исчезло как у конечного отправителя & получатель. Так есть ли альтернативное решение, в котором сообщение удаляется только от того пользователя, который выполнил операцию удаления.
Вот моя структура таблицы для таблицы сообщений:
Добавьте еще два поля в таблицу БД:
deleted_by_sender
deleted_by_receiver
Что с этим делать?
Поля говорят сами за себя.
Ура 🙂
когда вы удаляете сообщение, вы должны сделать что-то подобное, у вас должен быть user_id, который удаляет сообщение. Затем вы должны сначала запросить это сообщение, чтобы проверить, было ли сообщение удалено отправителем или получателем.
например
$result = mysql_query("select sender,reciver from tbl_messages where msg_id='$msgid'");
$r = mysql_fetch_array($result);
$s = $r['sender'];
$r = $r['reciever'];
if($s==$user_id)
$st = "sender";
else if($r==$user_id)
$st = "reciever";
mysql_query("update tbl_messages set $st=0 where msg_id='$msgid'");
Примечание: я предположил, что вы показываете сообщения в соответствии с идентификатором отправителя и получателя.
Это всего лишь пример (возможны ошибки и упущения). Надеюсь, это поможет вам.