【发布时间】:2021-05-05 01:03:58
【问题描述】:
我正在这个网站上关注和取消关注用户,就像 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 != ? 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
在 user_follow_list 中 Ben 正在关注 betty 和 tom。现在john 关注用户让我们说tom,
follow_id follower_id following_id
| 3 | 4 | 3
现在的问题是john 没有出现在ben 要关注的用户列表中。
它旨在显示我没有关注的用户,以便我可以关注他们。
【问题讨论】:
-
制作
user_follow_list.follow_id IS NULL的想法是什么? -
感谢您的回复。如果没有 user_follow_list.follow_id IS NULL,它将继续向我显示我关注的用户
-
在 following_id 上使用 SELECT CASE
-
好的会调查,但事实是我只是一个初学者。也许你可以帮我重写。我真的很感激。
-
@Everythinggood 你试过
AND user_follow_list.follower_id != :user_id之类的东西来代替它吗?