大佬教程收集整理的这篇文章主要介绍了php-如何让所有登录用户不是MySQL中的朋友的用户?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我完全能够获得所有已登录用户的当前好友,对此,我可以在此处执行此查询-
SELECT users.*
FROM users
LEFT JOIN friends
ON users.id = friends.friend_id
WHERE friends.user_id = $user_logged_in_id
但是我想做相反的事情,我无法弄清楚.
我正在尝试做朋友逻辑.
我有一个用户表和一个朋友表,充当用户与其朋友之间的多对多关系.朋友表中的键是user_id朋友_id.
为了说明某人是与另一个用户的朋友(假设已登录的用户ID为3,而朋友用户ID为6),则将user_id = 3和friend_id = 6放在一行,然后将另一行的ID翻转以说明友情相反,user_id = 6,friend_id = 3.
用户表
|---------------------|------------------|
| id | username |
|---------------------|------------------|
| 1 | sonja12 |
|---------------------|------------------|
| 2 | dorris32 |
|---------------------|------------------|
| 3 | billy32 |
|---------------------|------------------|
| 4 | micha97 |
|---------------------|------------------|
| 5 | travis841 |
|---------------------|------------------|
| 6 | johnny28 |
|---------------------|------------------|
朋友表
|---------------------|------------------|------------------|
| id | user_id | friend_id |
|---------------------|------------------|------------------|
| 1 | 3 | 6 |
|---------------------|------------------|------------------|
| 2 | 6 | 3 |
|---------------------|------------------|------------------|
编辑:
我想我的问题已经缩小了一点,以便更加简洁.
我想从用户表中获取所有用户,这些用户的ID不会在好友表中当前登录用户的user_id旁边显示为好友ID.
解决方法:
您以一种奇怪的方式思考问题.将其视为需要创建的集合的交集,而不是缺少id时存在的集合,可能会有所帮助.
从用户中选择ID,其中ID!= $logged_in_user和ID NOT IN(从有SELECT的用户中选择friend_id,其中user_id = $logged_in_user)
以上是大佬教程为你收集整理的php-如何让所有登录用户不是MySQL中的朋友的用户?全部内容,希望文章能够帮你解决php-如何让所有登录用户不是MySQL中的朋友的用户?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。