gpt4 book ai didi

php - 在 PHP 和 MySQL 中显示我的帖子以及关注者的帖子

转载 作者:太空宇宙 更新时间:2023-11-03 11:50:44 26 4
gpt4 key购买 nike

我正在尝试制作一个有点像 Facebook 的主页,我这样做是为了显示我关注的人的帖子,但我无法看到自己的帖子,因为我无法关注自己。这是我编写的一行 SQL 代码(它包含 PHP 变量):

SELECT * 
FROM user_posts
INNER JOIN user_following ON user_posts.username = user_following.username
WHERE user_following.follower = '$me->username'
ORDER BY id DESC
LIMIT 0, 15
  1. user_posts表格包含所有帖子。
  2. user_following表包含所有后续数据,其中 username是被关注的用户,follower用户是否关注 username
  3. $me->username是登录用户的用户名。

user_posts表结构: enter image description here

user_following表结构: enter image description here

提前致谢!

最佳答案

有几种不同的方法来为这个查询设置皮肤:

子查询

SELECT * 
FROM user_posts
WHERE user_posts.username = 'bob'
OR user_posts.username IN(
SELECT username
FROM user_following
WHERE user_posts.username = user_following.username
)
LIMIT 0, 15

http://sqlfiddle.com/#!9/6bf2c6/9

使用用户表

需要 GROUP BYDISTINCT user_posts.id,它们不是最佳的。

SELECT
user_posts.*
FROM users
LEFT JOIN user_following ON users.username = user_following.username
INNER JOIN user_posts ON (
users.username = user_posts.username
OR user_following.follower = user_posts.username
)
WHERE users.username = 'bob'
GROUP BY user_posts.id
LIMIT 0, 15

http://sqlfiddle.com/#!9/d91be/1

重要!确保并索引表中的这些列。否则,随着表变大(尤其是 user_following),性能会受到影响。

关于php - 在 PHP 和 MySQL 中显示我的帖子以及关注者的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35663880/

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