1

次のように動作するPHPメッセージングシステムがあります。

message_thread テーブル ID (pk)、user1_deleted、user2_deleted

メッセージ ID、thread_id(fk)、メッセージ、メッセージ日付、sender_id、receiver_id、sender_deleted、receiver_deleted

次を使用してメッセージテーブルをクエリするだけで、最後のメッセージでスレッドのリストを取得しようとしています

$sql = "SELECT thread_id, msg, sender_id, receiver_id, MAX(message_date) AS msg_date FROM messages WHERE (sender_id = '$user_id' AND sender_deleted = 0) OR (receiver_id = '$user_id' AND receiver_deleted = 0) GROUP BY thread_id.

これは機能しますが、最後のメッセージは表示されません。最初のメッセージのみを表示します。

誰が何が間違っているのか知っていますか?

ありがとう

4

2 に答える 2

1

これでクエリを終了し、順序を逆にします

 ORDER BY message_date DESC

結果が 1 つしかない理由については、実際のスクリプトがどのように見えるかを確認する必要があります。

于 2013-07-26T18:48:55.987 に答える