我需要在用戶的收件箱中將消息顯示爲對話。按發件人分組並顯示最後一條消息(從發件人收到的最後一條消息或我對該發件人的最新回覆)。MySQL將羣組消息作爲對話查詢
到目前爲止,我目前的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']);
沒有「談話「在你的結構中分組。你的意思是'from_id'和'to_id'的獨特組合嗎?您希望消息來自數據庫嗎? – AndreKR
嗨,感謝您的回覆。我目前使用傳統風格,其中,消息顯示在INBOX和SENT項目中,每條消息都作爲單獨的條目。我不想再這樣了。我需要在INBOX中顯示所有內容。每封郵件都由發件人分組,這也包括我對該發件人的回覆,從而顯示與該發件人的對話。 如果你沒有明白我的意思。檢查Facebook。 :) – SamPaGa
Facebook不是一個數據庫。 – AndreKR