【问题标题】:How would I make a Twitter-like feed using SQL/PHP? [closed]如何使用 SQL/PHP 制作类似 Twitter 的提要? [关闭]
【发布时间】:2013-05-20 21:44:01
【问题描述】:

在我正在构建的网站上,用户可以关注他人并发布内容。我正在尝试编译一个提要页面,该页面允许用户按时间顺序查看他们关注的人的所有帖子(几乎就是 Twitter 所做的)。

用于保存“posts”(标题为“posts”)的 SQL 表设置有以下列:

  • “id”(自动递增)
  • “素材”(帖子的文字内容)
  • “whencreated”(发布时)
  • “authorid”(发布它的用户)

用于保存关注/关注者(标题为“关注”)的 SQL 表包含以下列:

  • “id”(自动递增)
  • “followerid”(关注者的 ID)
  • “followingid”(他们关注的人的 ID)

我基本上需要知道如何遍历一个人的“关注”id,并按时间顺序按每个关注的 id 列出帖子。再一次,结果几乎是 Twitter 的克隆。

谢谢!抱歉,如果这太具体了。

【问题讨论】:

  • 您可以在打字时使用预览窗口来查看问题的结果,如果发现问题,只需点击上面的“编辑”链接。
  • 至于问题,一般来说,最好先展示您尝试过的内容。这有助于(非常忙碌的)社区在真正想要努力的人(我认为你就是其中之一)和不愿意努力的人(所谓的“帮助吸血鬼”)之间做出选择。因此,您需要一个带有JOINSELECT 查询和一些PHP(可能使用MySQL 和PDO)来运行它。你可以给它一个bash吗?
  • 一个很好的有用提示是分解问题。我会先创建数据库,然后插入一些测试数据,然后研究如何在 PDO 中运行查询,然后研究如何进行连接,然后你就完成了 80% 的工作。
  • 谢谢halfer...我会试一试:) 通常我会解决自己的问题,但今天是漫长的一天,甚至不知道从哪里开始。我会用 JOIN 试试你告诉我的。

标签: php sql feed


【解决方案1】:

可能是这样的吗?

SELECT posts.* FROM posts
INNER JOIN follow ON posts.authorid = follow.followingid
WHERE follow.followerid = ?
ORDER BY posts.whencreated DESC

其中?是当前用户的ID。

我建议你看看这些关于INNER JOINORDER BY 的信息页面。

这只是 SQL 部分,我将把 PHP 部分留作练习。

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 2015-02-20
    相关资源
    最近更新 更多