私は完全に私はここにこのクエリを実行するユーザーが現在ログインしている友人、の全てを取得することができています -ログインしたユーザーがMySQLで友達ではないすべてのユーザーを取得するにはどうすればよいですか?
SELECT users.*
FROM users
LEFT JOIN friends
ON users.id = friends.friend_id
WHERE friends.user_id = $user_logged_in_id
をしかし、私は反対のことをやってみたい、と私はそれを把握することはできません。
私は友人ロジックをしようとしています。私は、ユーザーとその友人の間で多くの関係に多くのとして機能するように、ユーザテーブルや友人のテーブルを持っている
ですでに友人ではありません
私は現在ログインしているユーザーのすべてのユーザーを取得する必要があります。フレンドテーブルのキーは、user_id friend_idです。
誰かが私が置いた別のユーザーと友人であることを示すには(例えば、ログインしているユーザーIDは3、友人ユーザーIDは6)user_id = 3
とfriend_id = 6
を1行として表示し、他の方法で友情、user_id = 6
とfriend_id = 3
。
ユーザーテーブル
|---------------------|------------------|
| id | username |
|---------------------|------------------|
| 1 | sonja12 |
|---------------------|------------------|
| 2 | dorris32 |
|---------------------|------------------|
| 3 | billy32 |
|---------------------|------------------|
| 4 | micha97 |
|---------------------|------------------|
| 5 | travis841 |
|---------------------|------------------|
| 6 | johnny28 |
|---------------------|------------------|
友人テーブル
|---------------------|------------------|------------------|
| id | user_id | friend_id |
|---------------------|------------------|------------------|
| 1 | 3 | 6 |
|---------------------|------------------|------------------|
| 2 | 6 | 3 |
|---------------------|------------------|------------------|
EDIT:
私は私は私の質問もう少し簡潔にするために絞られていると思います。
ユーザーテーブルからすべてのユーザーを取得し、現在のログインしているユーザーのフレンドIDの横のフレンドIDがフレンドテーブルに表示されないようにしたいとします。
より具体的には、今は '... WHERE friends.user_id!= $ user_logged_in_id" 'のように思われますが、これは修正されますが、うまくいきませんでしたか? – SourceOverflow
いいえ、ログインしたユーザー以外のユーザーを返し、ユーザーを返しました ログインしたユーザーが友達ではないユーザーのリストを見たいので、簡単に「友達を追加」ボタンをクリックして新しい友達を追加することができます。すべてのユーザーを戻し、既にログインしているユーザーと友人であるものを除外しますが、普通のSQLがこのようなものに行くためにはるかに良い方法であるように感じます。 –