0

私はプライベート メッセージ用のユーザー受信トレイを作成しようとしています。そこでは、2 人の間の最新のメッセージが1 つ表示され、すべての会話も最新の順に並べられます。最新のメッセージのプレビューをクリックして完全な会話を表示し、会話も最新の順に並べられる Facebook メッセージの受信トレイと同じように機能する必要があります。これは私がこれまでに持っているステートメントですが、何も表示されておらず、修正方法がわかりません。誰かアドバイスはありますか?

$sqlInbox = "
    SELECT sender, receiver, message, parent, rView
    FROM (SELECT sender, receiver, message, parent, rView
        FROM messages 
        WHERE receiver='$log_username' OR sender='$log_username'
        ORDER BY timestamp DESC)
    GROUP BY parent
    ORDER BY timestamp DESC";

親列は完全な会話を表すため、送信者または受信者に関係なく、設定された 2 人のユーザー間のメッセージはテーブル内で同じ親 ID を持ちます。前もって感謝します。

4

3 に答える 3

0

これが機能するかどうかを確認してください..

SELECT sender, receiver, message, parent, rView
FROM messages 
WHERE receiver='$log_username' OR sender='$log_username'
ORDER BY parent ASC, timestamp DESC
于 2013-10-25T04:12:58.113 に答える
0

私が気づいたことの 1 つは、選択しているすべての列でグループ化する必要があることです。

SELECT sender, receiver, message, parent, rView
FROM (SELECT sender, receiver, message, parent, rView
    FROM messages 
    WHERE receiver='$log_username' OR sender='$log_username'
    ORDER BY timestamp DESC)
GROUP BY sender, receiver, message, parent, rView
ORDER BY timestamp DESC
于 2013-10-25T04:08:35.683 に答える