嗨,我有我的消息表,我想知道如何添加消息 is_deleted 由用户这里是我的表:
id fromid toid message is_read deleted_to deleted_from date
1 1 2 test1 1 0 0 2012-09-06 00:00:10
2 2 1 test2 1 0 0 2012-09-06 00:00:11
3 1 3 test3 1 0 0 2012-09-06 00:00:12
4 3 1 test4 1 0 0 2012-09-06 00:00:13
5 2 1 test5 1 0 0 2012-09-06 00:00:14
Users
MemberID username
1 user1
2 user2
3 user3
我应该怎么做才能不选择已删除的消息?我的表是正确的还是我需要添加表并在我的查询中有条件?
例如:用户给我发了一条消息,我已经删除了这条消息,现在这条消息在我这边不可见。但是在发送方他可以看到他的消息,如果他还没有删除消息的话。它就像 facebook 消息传递。您可以删除整个对话,也可以只删除选定的消息。
我刚刚创建了我的 mysql 查询:
SELECT
IF(derived_messages.toid = '$user', derived_messages.fromid,
derived_messages.toid) friend1,c.UserName,
derived_messages.message, derived_messages.fromid, derived_messages.toid,
derived_messages.is_read,
derived_messages.date
FROM
(SELECT *
FROM messages
ORDER BY date desc) derived_messages
INNER JOIN Users c ON c.MemberID = IF(derived_messages.toid = '$user', derived_messages.fromid,
derived_messages.toid)
WHERE (derived_messages.toid='$user' OR derived_messages.fromid='$user')
GROUP BY friend1 ASC
ORDER BY derived_messages.date DESC, derived_messages.id DESC
现在,我想知道我要在哪里添加已删除消息的条件。
谢谢。!