从PHP数组中选择MYSQL数据

时间:2012-04-12 00:51:20

标签: php mysql arrays

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

2 个答案:

答案 0 :(得分:1)

使用UNION组合来自不同表的所有帖子,然后使用“IN”子句根据当前用户ID获取您要关注的所有用户ID:

示例:

$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()运行查询,它将返回如下内容:

Array => {
[0] => { type = "wall", body = "This is a wall update", date = "1234567890" },
[1] => { type = "photo", caption = "Us at the beach", date = "..." },
...
}

每次调用“UNION”时,都需要确保每个SELECT语句中的列数相同,否则它将无效。您可以使用上面的type列完成/假/列。

答案 1 :(得分:0)

我认为您正在寻找在数据库中serialize数组的方法。 This也可以提供帮助!