我们如何做到如下操作?在PHP中遇到问题MySQL查询
$results = $DB->query("SELECT * FROM users WHERE id!='{$id}' ");
即使我不知道该代码,
$a = $DB->query("SELECT * FROM friends WHERE(someone is not friends with you)' ");
列在朋友:user_id
,friends_id
我们如何做到如下操作?在PHP中遇到问题MySQL查询
$results = $DB->query("SELECT * FROM users WHERE id!='{$id}' ");
即使我不知道该代码,
$a = $DB->query("SELECT * FROM friends WHERE(someone is not friends with you)' ");
列在朋友:user_id
,friends_id
使用NOT IN
ID NOT IN (IDs OF FRIEND)
例
$DB->query("SELECT * FROM user AS User WHERE User.id NOT IN (select * from friends where user_id = User.id)");
$DB->query("SELECT x.* FROM users x WHERE x.id NOT IN (myid, friendids)");
你需要找到不是你朋友的人。对? 所以,你有你的的user_id为$添加my_id。然后,您可以选择friend_ID的的朋友user_id字段不包含您的user_id值($ my_id)。然后从这些friend_ID检索到的,您可以从用户表中选择用户。 使用此:
$ DB->查询(!SELECT * FROM用户WHERE ID IN(选择friend_id FROM 朋友其中USER_ID = {$添加my_id}))
会工作。 :)
不知道你的数据库的确切结构,使你的问题却丝毫伎俩的想法去,有人说是你的朋友,当他是你的朋友或者你是他的朋友,你必须选择那些谁你没有添加为朋友,他们也没有添加你。
像这样的查询应该可以帮助您。
“SELECT * FROM用户WHERE users.id NOT IN(选择从朋友那里USER_ID!= '{$ YOUR_ID}' AND friend_id!= '{$ YOUR_ID}' *)”
SELECT * FROM'朋友'WHERE'friends_id'!= {$ id}? 。 – ATaylor
选择x * FROM MY_TABLE X左JOIN MY_TABLE Y于y.user_id = x.user_id AND y.friend_id = '我' WHERE y.user_id IS NULL; – Strawberry
@mud nazmi - 为什么不给它去看看自己! – Strawberry