PHP と mySQL を使用して、Facebook に少し似た通知機能を備えたプライベート メッセージング システムを作成しました。
データベース テーブルには次のフィールドがあります (すべてがリストされているわけではありません)。
- メッセージ ID
- 送信者ユーザーID
- RecUserID
- メッセージ
- 主題
- 日付時刻
- ステータス - 既読かどうか
- RepliedStatus - これをどのように使用すればよいですか?
- DeleteRec - 受信トレイから削除
- DelSender - 送信者の受信箱を削除
- RepliedUserId - ユーザーが元のメッセージに返信するとき、これは受信者の ID に変更されます
各メッセージがスレッドを作成するため、すべての返信は 2 番目のテーブルに格納されます。2 番目のテーブルは次のようになります。
- メッセージ ID - 外部キー
- 再利用者 ID
- メッセージ
- 日付時刻
新しいメッセージがユーザーに送信された時点で、メッセージの「ステータス」を未読に変更します。これからカウントクエリを実行して、通知内のすべての未読メッセージを一覧表示できます。
しかし、ユーザーがそのメッセージに返信した場合、元の「ステータス」フィールドを未読に設定することはできません。これは両方のユーザーの通知に表示されるためです。「RepliedStatus」という別のフィールドを作成しましたが、これを使用してメッセージの返信に通知を表示する方法がわかりません。
みんなありがとう。