私はTwitterに匹敵するウェブサイトに取り組んでいます。人をフォローしたり、メッセージを投稿したりできます。
私がフォローしていない人のうち、私がフォローしている人がフォローしている人を 1 人選びたいです。あなたがその文を得たことを願っています!
これは私が現在使用している SQL クエリですが、正しく動作しません。すでにフォローしている人はまだ表示されます。
SELECT a.naar_id
FROM wievolgtwie a, wievolgtwie b
WHERE a.van_id = $row[0]
AND b.van_id = $_SESSION[id]
AND a.naar_id != $_SESSION[id]
AND a.naar_id != b.naar_id
LIMIT 0, 1;
説明:
naar_id
が続く人物のID van_id
。
van_id
はフォローしているIDですnaar_id
。
( van_id
, naar_id
) 行 (1, 3) と (2, 3) は、id 1 と 2 の両方が id 3 に続くことを意味します。
wievolgtwie
「whofollowswho」情報を含むテーブルです。
van_id, naar_id
+------+------+
| 1 | 2 |
| 1 | 3 |
| 2 | 1 |
| 2 | 4 |
| 3 | 4 |
| 3 | 2 |
+------+------+
$row[0]
あなたがフォローしている相手を選択したいのですが、あなたがフォローしていない人です。
$_SESSION[id]
あなたのID(ログインしている人)です。
したがって、if $row[0]
= 2 で、ログインしているユーザーの ID は 1 'me' です。ID 4 を取得したい (ID 1 は私であり、ID 4 をフォローしていないため) (例の表を参照)
私が達成したいことの正しいクエリを知っている人はいますか?
前もって感謝します、
ジェローン