Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示以下用户帖子_Php_Html_Mysql_Sql_Posts - Fatal编程技术网

Php 显示以下用户帖子

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 | +-----+----

所以我有一个项目,我正在工作,你可以“跟踪”另一个用户,并查看他们的帖子,以及其他用户。比如Facebook。像这样的

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的帖子我的帖子一样。