ユーザーの受信トレイに会話としてメッセージを表示する必要があります。送信者ごとにグループ化され、最後のメッセージ(送信者から受信した最後のメッセージまたはその送信者への最新の返信)が表示されます。
これまでのところ、私の現在のMySQLクエリは、グループ化せずに受信したすべてのメッセージのみを表示します。
これが私のデータベース構造です:
+-----------------------------------------------------------------------------------+
| users_messages |
+-----------------------------------------------------------------------------------+
| message_ID | from_id | to_id | date | subject | body | unread | delete1 | delete2 |
+-----------------------------------------------------------------------------------+
+---------------------+
| users |
+---------------------+
| id | username | ...
+----+----------+-----+
これが私の現在のクエリです:
$result = $DB->query("SELECT p.*, p.sender as sender, m.*
FROM " . DB_PREFIX . "messages p
LEFT JOIN " . DB_PREFIX . "members m ON p.sender=m.member_id
WHERE p.receiver='" . $SESSION->conf['member_id'] . "' AND delete2=0
ORDER BY p.senddate DESC
LIMIT " . (($page - 1) * $PREFS->conf['per_page']) . ", " . $PREFS->conf['per_page']);