gpt4 book ai didi

php - 查询返回未关注的用户结果

转载 作者:搜寻专家 更新时间:2023-10-30 23:07:34 26 4
gpt4 key购买 nike

首先,这会很长很复杂。所以,如果你通读了它,谢谢。

所以我有一个用 PHP 编写的关注和发布系统。这样我就可以关注 Alex,并且我会在主墙上看到 Alex 的帖子以及我的帖子。如果我取消关注他,我将看不到他的帖子。这就是该查询的样子

SELECT * 
FROM posts
WHERE post_user IN ( SELECT follow_from
FROM followers
WHERE follow_to = :user
OR follow_from = :user )

这会从您关注的人那里获取帖子。嗯,这就是它应该做的。这是帖子的样子

+----+-----------+---------+------------------------+--------------+------------+
| id | post_user | post_ip | post_date | post_content | post_likes |
+----+-----------+---------+------------------------+--------------+------------+
| 40 | idris | ::1 | 07/09/2014 11:19:47 pm | I like food | 0 |
+----+-----------+---------+------------------------+--------------+------------+

现在说 Scott,这是另一个用户,登录。他去了他的墙,他可以看到我的帖子,即使他没有关注我。这就是我遇到的问题。这是followers

+-----+-------------+-----------+
| id | follow_from | follow_to |
+-----+-------------+-----------+
| 358 | idris | scott |
+-----+-------------+-----------+

当我查看我的墙时,我也希望看到他的帖子。但我什么也没看到(当数据库中有帖子时)。所以基本上我的问题是,为什么 Scott 在他的墙上看到我的帖子,即使他没有关注我。

我有很多代码,但我会尽量发布重要的部分

我如何运行查询

$qry = $con->prepare("SELECT * 
FROM posts
WHERE post_user IN ( SELECT follow_from
FROM followers
WHERE follow_to = :user
OR follow_from = :user )");
$qry->bindValue(':user', $username, PDO::PARAM_STR);
$qry->execute();

我如何检查用户是否关注

if($_SESSION['loggedIn'] == true){
$result1 = $con->prepare("SELECT *
FROM followers
WHERE follow_from = :user
AND follow_to = :post_id");
$result1->bindParam(':user', $username);
$result1->bindParam(':post_id', $username);
$result1->execute();
$reprint = $result1->fetch(PDO::FETCH_ASSOC);
}

if($reprint > 1){
$usr_flw = true;
}
else{
$usr_flw = false;
}

最后是我如何回复帖子

    $posts = array();
while($row = $qry->fetch(PDO::FETCH_ASSOC)){
$posts[] = array(
'post_user' => $row['post_user'],
'id' => $row['id'],
'post_date' => $row['post_date'],
'post_likes' => $row['post_likes'],
'post_content' => $row['post_content']
);
}

最佳答案

试试这个:

SELECT * FROM posts WHERE post_user IN ( SELECT follow_to FROM followers WHERE follow_from = :user) OR post_user = :user

关于php - 查询返回未关注的用户结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24719288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com