私は2つのテーブルを持っています.1つはユーザと呼ばれ、もう1つは単一のmysqlデータベース内のメッセージです。単純なSQLクエリでは、対応する必要な値が返されません
メッセージと名前を選択して2人のユーザー間に「スレッド」を作成しようとしていますが、送信者とユーザーIDを追加してください。
ユーザー次のようになります。
_id, Name
1 Mike
2 Chris
3 Agnes
.. ....
メッセージを次のようになります。
_id, sent_id, user_id, message
1 1 2 Hello
2 2 1 Sup
3 3 2 Goodbye
.. ...
現在のクエリはこれです:
SELECT users.name, messages.message, messages.user_id as user, messages.sent_id as sender
FROM messages, users
WHERE users.user_id = messages.user_id
AND (messages.user_id = $senderID AND messages.sent_id = $userID)
OR (messages.user_id = $userID AND messages.sent_id = $senderID);
、送信するように、それが動作します正しいメッセージ。ただし、メッセージに関連付けられているユーザー名ではなく、すべてのユーザー名が返されます。
は、結合を使用しようとすると、メッセージからのこのようなものは、「勝ったmessages.user_id = user.user_id WHERE ... –