Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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_Database - Fatal编程技术网

Php 如何检索所有帖子及其相应的评论

Php 如何检索所有帖子及其相应的评论,php,database,Php,Database,如何选择所有帖子及其相应的评论和评论员。以下是我的数据库示例: Person: ID (primary key), Name Post: PID (primary key), Pcontent, ID (foreign key to Person) Comment: CID (primary key), Ccontent, PID (foreign key to Post) 用户的ID为1。如何获取帖子、帖子的评论者及其ID为1的评论?这里是一条通用SQL语句(我们不知道您使用的是哪种

如何选择所有帖子及其相应的评论和评论员。以下是我的数据库示例:

Person:  ID (primary key), Name
Post:    PID (primary key), Pcontent, ID (foreign key to Person)
Comment: CID (primary key), Ccontent, PID (foreign key to Post)

用户的ID为1。如何获取帖子、帖子的评论者及其ID为1的评论?

这里是一条通用SQL语句(我们不知道您使用的是哪种数据库产品,因此此处将丢失任何细节)——


这将获得用户ID为“1”的所有帖子,并将获得与每篇帖子相关的所有评论。

欢迎使用Stack Overflow!这个问题缺乏信息。你能分享一下你尝试过什么,遇到了什么问题吗?@JayBlanchard我还没有尝试过任何东西。因为我不知道该写什么。对不起,这就是为什么我在这里发布你的数据库结构不是很清楚。我认为
ID
Person
Post
表的主键。
Post.PID
Person
表的外键吗?
Comment
表中的主键是哪个?如果您想编辑您的问题,以显示哪些是PK,哪些是FK到哪个表,这将很有帮助。我唯一能告诉您的是,您需要在查询中加入
JOIN
。Person-P.K=ID,Post-P.K=PID,Comment-P.K=CID@halferan以及如何使用while循环回显sir@松鸦Blanchard@Kean:如果您尚未了解如何在PHP中运行查询,我们通常会建议您查找并完成一些教程。在这个网站上有(字面上)成千上万的例子-搜索栏就在顶部!这一点,以及你早些时候关于“我还没有尝试过任何东西”的评论,促使我鼓励你在提问之前研究问题——通过这种方法你会学到更多。你是什么意思?您可以在数据库IDE中运行此查询,或者将其作为PHP的一部分。@JayBlanchard,我已经运行了您的代码,但现在的问题是:例如,我只发布了一篇文章,而该文章的ID为1,假设我对该文章发表了3次评论。当我回显帖子时,它会像这样回显3次<代码>这是我的第一篇文章:这是我的评论1,这是我的第一篇文章:这是我的评论2,这是我的第一篇文章:这是我的评论3不幸的是A.)你最初的问题从来没有反映出你真正想要的,2。因此,这不是编码服务。请尝试一下,如果你有问题,回来问一个新问题。不要发布问题,要求他人为您编写代码。
SELECT `Post`.`Pcontent`, `Person`.`Name`, `Comment`.`Ccontent`
FROM `Post` 
LEFT JOIN `Person`
ON `Post`.`ID` = `Person`.`ID`
LEFT JOIN `Comment`
ON `Post`.`PID` = `Comment`.`PID`
WHERE `Person`.`ID` = 1