Php 跟随-不跟随系统
我在这个网站上工作,关注和不关注用户,就像Twitter关注一样。 下面的查询起作用了,但我注意到它并没有显示我没有跟踪的用户,因为该用户已经被某人跟踪或正在跟踪某人Php 跟随-不跟随系统,php,mysql,mysqli,Php,Mysql,Mysqli,我在这个网站上工作,关注和不关注用户,就像Twitter关注一样。 下面的查询起作用了,但我注意到它并没有显示我没有跟踪的用户,因为该用户已经被某人跟踪或正在跟踪某人 $stmt = $mysqli->prepare("SELECT * FROM town_users LEFT JOIN user_follow_list ON user_follow_list.following_id = town_users.user_id WHERE town_users.user_id !
$stmt = $mysqli->prepare("SELECT * FROM town_users LEFT JOIN user_follow_list ON user_follow_list.following_id = town_users.user_id WHERE town_users.user_id != ? AND user_follow_list.follow_id IS NULL ORDER BY RAND() LIMIT 5");
$stmt->bind_param("i", $user_id);
下面是我的表格结构
town_users
user_id username
| 1 | ben
| 2 | betty
| 3 | tom
| 4 | john
user_follow_list
follow_id follower_id following_id
| 1 | 1 | 2
| 2 | 1 | 3
在用户跟踪列表中,Ben正在跟踪betty和tom。现在,john
跟踪一个用户,比如说tom
follow_id follower_id following_id
| 3 | 4 | 3
现在我遇到的问题是,john
没有出现在ben
要跟踪的用户列表中
它的目的是向用户显示我没有跟踪过他们,这样我就可以跟踪他们
SELECT * FROM town_users
LEFT JOIN user_follow_list ON user_follow_list.follower_id = town_users.user_id
WHERE town_users.user_id NOT IN (SELECT following_id FROM user_follow_list WHERE
follower_id = 1) AND town_users.user_id != 1
GROUP BY town_users.user_id ORDER BY RAND() LIMIT 5
此查询将获取后面没有($user\u id=1
)的所有用户
这里有一个SQL提示:让
用户跟随列表的想法是什么。跟随id为NULL
?感谢您的回复。没有用户跟随列表。跟随id为空,它将继续向我显示我跟随的用户。关于跟随的选择案例我会研究,但事实是我只是一个初学者。也许你能帮我重写一下。我真的很感激。@Everythinggood您是否尝试过像和user\u follow\u list.follower\u id!=:用户id
而不是它?
$stmt = $mysqli->prepare("SELECT * FROM town_users
LEFT JOIN user_follow_list ON user_follow_list.follower_id = town_users.user_id
WHERE town_users.user_id NOT IN (SELECT following_id FROM user_follow_list WHERE follower_id = ?)
AND town_users.user_id != ?
GROUP BY town_users.user_id ORDER BY RAND() LIMIT 5");
$stmt->bind_param("ii", $user_id, $user_id);