私のウェブサイトには個人的なメッセージ システムがありますが、これは非常に簡単です。しかし、ユーザー間のすべての会話とそのメッセージの量が表示される管理者ページが必要です。
したがって、表は次のようになります (簡略版):
CREATE TABLE pm (
id INT(10) NOT NULL AUTO_INCREMENT,
from INT(10) NOT NULL REFERENCES (usertable),
to INT(10) NOT NULL REFERENCES (usertable),
message BLOB NOT NULL
);
例:
マーク、ジョン、ブライアン、ケイトのユーザーがいるとします。
Mark (from) は John (to) に 5 つのメッセージを送信し、John (from) は Mark (to) に 3 つのメッセージを送信します。
Kate (from) は 2 つのメッセージを Bryan (to) に送信し、Bryan (from) は 1 つのメッセージを Kate (to) に送信します。
を示す結果セットが欲しい
マーク - ジョン - 8 メッセージ
ケイト - ブライアン - 3 メッセージ
そして、これは私のテーブル内のすべてのユーザーに対して一度に行われます。
私は本当にこれに行き詰まっており、どこでも検索しましたが、解決策が見つかりませんでした。難しさは、すべてのユーザーをリストしたいという事実にあり、「from」と「to」の列をどうにか交差させなければなりません...
誰でも助けてくれることを願っています。前もって感謝します。