繁体   English   中英

获取表包含用户标识的行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM