Php 显示以下用户帖子
所以我有一个项目,我正在工作,你可以“跟踪”另一个用户,并查看他们的帖子,以及其他用户。比如Facebook。像这样的Php 显示以下用户帖子,php,html,mysql,sql,posts,Php,Html,Mysql,Sql,Posts,所以我有一个项目,我正在工作,你可以“跟踪”另一个用户,并查看他们的帖子,以及其他用户。比如Facebook。像这样的 Bob: I love SO Alex: I love SO too Ally: Me three! 这就是我目前正在做的。我正在选择登录用户关注的人,所有这些人都存储在一个名为followers的表中。这是它的样子 +-----+-------------+-----------+ | id | follow_from | follow_to | +-----+----
Bob: I love SO
Alex: I love SO too
Ally: Me three!
这就是我目前正在做的。我正在选择登录用户关注的人,所有这些人都存储在一个名为followers
的表中。这是它的样子
+-----+-------------+-----------+
| id | follow_from | follow_to |
+-----+-------------+-----------+
| 319 | bob | alex |
| 320 | ally | alex |
| 320 | alex | ally |
+-----+-------------+-----------+
+----+-----------+---------+-----------+--------------+------------+
| id | post_user | post_ip | post_date | post_content | post_likes |
+----+-----------+---------+-----------+--------------+------------+
| 1 | alex | ::1 | | I like cats | 0 |
+----+-----------+---------+-----------+--------------+------------+
正如您所看到的,它显示了用户及其跟踪对象。这就是我如何检索你跟踪的人的列表
SELECT * FROM followers WHERE follow_from = :username
现在它会回来
Bob
Alex
Ally
现在转到柱子上。我将帖子存储在另一个名为“posts”的表中。这就是它看起来的样子
+-----+-------------+-----------+
| id | follow_from | follow_to |
+-----+-------------+-----------+
| 319 | bob | alex |
| 320 | ally | alex |
| 320 | alex | ally |
+-----+-------------+-----------+
+----+-----------+---------+-----------+--------------+------------+
| id | post_user | post_ip | post_date | post_content | post_likes |
+----+-----------+---------+-----------+--------------+------------+
| 1 | alex | ::1 | | I like cats | 0 |
+----+-----------+---------+-----------+--------------+------------+
所以我假设Bob和Ally都看到alex的帖子。我遇到的问题是检索帖子并基本上将它们合并在一起。因为我的帖子在另一个表中,所以我找不到一种方法来找出哪个帖子是哪个
我试过这个
SELECT * FROM posts WHERE followed_user=:username ORDER BY post_date DESC
但无法找到将:username
与多个用户名一起使用的方法。像追随者一样。所以基本上我的问题是,如何在一面墙上显示来自多个用户的多篇帖子。或者如果有人能解决我如何从你跟踪的多个人中选择帖子的问题
当我从follow_FROM=:username的跟随者中选择*并运行
$posts = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$posts[] = array(
'follow_to' => $row['follow_to']
);
}
做
foreach($posts as $post) {
echo $post['follow_to'];
}
我得到了一个追随者的列表,所以我认为这和帖子的检索有关 您正在查找联接/子查询
SELECT
*
FROM
posts
WHERE
post_user IN
(
SELECT follow_to FROM followers WHERE follow_from = :user
)
更新
如果您想加载一个人以及追随者的帖子列表
SELECT
*
FROM
posts
WHERE
post_user IN
(
SELECT
follow_from
FROM
followers
WHERE
follow_to = :user
OR
follow_from = :user
)
如果我也想让用户也在feed中发帖呢。所以我就是鲍勃。我想看看艾丽、亚历克斯和我的帖子。我该怎么办?不知道我是否要给你贴标签@你这是什么意思?当我运行查询时,我只看到其他用户的帖子。我想看看我的帖子和其他帖子。就像我看到Ally的帖子Alex的帖子我的帖子一样。