こんにちは、メッセージテーブルがあります。ユーザーがメッセージ 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
ここで、メッセージを削除する条件をどこに追加するかを知りたいと思います。
ありがとうございました。!