![](/img/trans.png)
[英]PHP, SQL - getting fetch where table id = user id and count other table where row is = user id
[英]Get row where a table contains a user id
我有一个包含4列ID,用户,文本和日期的表。
我试图获取其中“用户”包含许多用户ID之一的行。 那里可以有一个无限用户ID。
用户ID的示例
"4, 5, 23"
“用户”列的示例
"4, 12, 44"
基本上,我正在尝试建立一个状态更新系统,在该系统中,只有用户的朋友才能看到状态更新,有点像facebook和twitter。
您不应该具有存储多个用户ID的列。 创建一个表并引用它,然后查找将很简单。
如果我正确理解了您的问题,则希望将其分解为多个表。
具有ID,用户ID,文本和日期的状态表。
具有ID,用户名等(取决于您)的用户表。
具有id,userid,friendid的友谊表。 (为了获得友谊,有两个条目,您可以做friend1和friend2,但这意味着每次查询都要同时检查两个字段)。
最后一张桌子是基于两种友谊的需要! 因此,与twitter相对的facebook惯例与twitter相对,但又没有遵循。
然后,您将显示与您(作为登录用户)有友谊的用户的更新。
从状态SELECT s.text,s.date,u.username,s.userid s INNER JOIN用户名u ON s.userid = u.id INNER JOIN友谊f ON f.friendid = s.userid WHERE f.userid ='LOGGED在USER ID'中按日期排序DESC LIMIT 10
将LOGGED IN USER ID更改为当前登录用户的用户ID。 通常使用会话变量进行设置。
LIMIT 10
将显示最新的10个状态更新!
然后显示文本和日期以及带有链接到其个人资料的用户名的用户名(如果适用)!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.