我正在与Twitter相媲美的网站上工作。您可以关注人员并发布消息。SQL/PHP选择一个跟随者,你不关注跟随你的人
我想选择一个我不关注的人,他跟随的是我关注的人。 希望你有这句话!
这是我当前使用的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
后跟van_id
的人的ID。
van_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(登录的人)。
因此,如果$row[0]
= 2并且登录的人的id为1'我';我想获得ID 4(因为ID 1是我,我不遵循ID 4)(请参阅示例表)
有没有人知道我想实现的正确查询?
由于提前,
的Jeroen
您以'SELECT a.naar_id'开始,您已将其定义为“您关注的人员的ID”。这不保证总是返回你已经关注的人的身份证吗?或者我只是不理解你的桌子? –
对不起,那应该是'van_id后面的人的ID' – Jeroen
我添加了一个示例表。我希望现在更清楚一点。 – Jeroen