これは私のmysqlテーブル構造です:
msgid | senderid | sender | recipientid | recipient | title | message | date
Facebook が行ったように、プライベート メッセージング システムの受信トレイに表示したいと考えています。つまり、各会話は、着信か発信かに関係なく、テーブルから 1 回だけ出力されます。例えば:
My username is 'admin'.
USER | MESSAGE | DATE | DIRECTION
Dan | Hello | 1/2/10 | Incoming
Bob | How are you Bob?| 30/1/10 | Outgoing
問題は、方向が異なるため、ユーザー名を繰り返さないことです。例えば:
USER | MESSAGE | DATE | DIRECTION
Dan | Hello | 1/2/10 | Incoming
Bob | How are you Bob?| 30/1/10 | Outgoing
Bob | Hi admin | 30/1/10 | Incoming
したがって、方向に関係なく、表示される唯一のメッセージが最新の通信であることを確認する必要があります (つまり、そのユーザーが「送信者」か「受信者」かに関係なく、別のユーザーとの最新のメッセージ)。
このウェブサイトには PHP/MYSQL を使用しています。これを行うために何千もの方法を試しましたが、理解できません。データベースの構造が正しくない可能性があります。私は数時間オンラインになります(その後も継続的にチェックします)ので、ご不明な点がございましたらお気軽にお問い合わせください.