我已经创建了基于mysql数据库的内部消息传递系统。在我的数据库结构中,有一个消息表,其中每条消息都有发送者user_id和receiver user_id。任何用户的收件箱都可以根据自己的id关系填充为messages表中的receiver_id。我的问题是当我尝试删除任何消息时,消息从最终发送者和消息都消失了。接收器。那么是否存在任何替代解决方案,其中仅从执行删除操作的用户移除消息。
这是我的消息表表格结构:
答案 0 :(得分:3)
在数据库表中再添加两个字段:
deleted_by_sender
deleted_by_receiver
这些需要做什么?
这些字段不言自明。
干杯:)
答案 1 :(得分:2)
当你删除msg然后你必须做这样的事情时,你应该有user_id谁正在删除msg.then你必须首先查询msg以检查msg是否被发送者或接收者删除。 例如
$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'");
注意:我假设您根据发件人和收件人ID显示msgs。 这只是一个例子(预计会出现错误和遗漏)。希望它会对你有帮助。