首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PHP数组中选择MYSQL数据

从PHP数组中选择MYSQL数据
EN

Stack Overflow用户
提问于 2012-04-12 08:51:20
回答 2查看 139关注 0票数 0

我正在创建一个社交网络。我希望有一个用户能够订阅的人。理论上,当用户单击subscribe按钮时,PHP会将该用户的ID添加到MYSQL清单中"subscribed- to“列下的一个数组中。现在,我想要有一个新闻提要样式的主页。我想知道,如果我通过PHP拉取“订阅”数据,我如何才能只显示用户订阅的人的帖子(也在MYSQL表中)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-12 09:04:45

使用UNION组合来自不同表的所有帖子,然后使用"IN“子句根据当前userID获取要遵循的所有用户IN:

示例:

代码语言:javascript
复制
$userFavs = "SELECT userID FROM favs WHERE followerID = '#loggedinUserID#'"

mysql_query("SELECT 'wall' as type, body, date FROM wall WHERE userID IN ($userFavs) 
UNION
SELECT 'photo' as type, caption, date FROM photos WHERE userID IN ($userFavs) UNION... etc
ORDER BY date DESC");

如果您通过mysql_fetch_array()运行查询,它将返回如下内容:

代码语言:javascript
复制
Array => {
[0] => { type = "wall", body = "This is a wall update", date = "1234567890" },
[1] => { type = "photo", caption = "Us at the beach", date = "..." },
...
}

您需要确保每次调用"UNION“时在每个SELECT语句中都有相同数量的列,否则它将无法工作。您可以使用/fake/ columns,就像我对上面的type列所做的那样。

票数 1
EN

Stack Overflow用户

发布于 2012-04-12 09:02:57

我认为你正在寻找一种在数据库中serialize你的数组的方法。This可能也会有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10116001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档