ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

如何显示每篇文章的所有评论(PHP和SQL)?

2019-12-08 01:16:12  阅读:342  来源: 互联网

标签:mysqli sql mysql php database


因此,我有两个表,文章和评论(它们具有一对多关系(1条-很多评论)).该表的结构如下:

文章-ID(公钥),标题,出版物日期,内容

注释-com_id(密钥),作者,注释,ID(外键)

我用它来查询两个表:

SELECT * FROM articles as a INNER JOIN comments as c ON a.id = c.id

以前,我仅使用以下方式显示商品表:

<?php 
while($row = mysqli_fetch_array($query)) {

echo "
<div id='article'> 
<header>
    <hgroup>
         <h2>".$row['title']."</h2>
         <h4>Posted on ".$row['publicationDate']."</h4>
    </hgroup>
</header><p>".$row['content']."</p></div>";
}
?>

这将显示所有文章(带有日期,标题,内容等).现在有评论.我如何编辑php代码(或者如果我的查询不正确,如何编写查询),以使其显示所有文章以及每个文章的所有注释,如下所示:

Article One
 -- Comment 1
 -- Comment 2, etc.

Article Two
 -- Comment 1
 -- Comment 2, etc.

解决方法:

一种替代方法是将查询分为两部分.

首先会带回您想要的文章…

SELECT * FROM article;

拥有这些ID后,即可获取所有ID并使用类似以下内容的代码

SELECT * FROM comments WHERE article_id IN (".$list.");

这将MySQL查询限制为2,同时获取所需的所有数据.在围绕文章数据进行此循环之后,在该循环中,围绕评论数据进行循环.

这也意味着,与使用GROUP_CONCAT不同,您还将需要使用作者数据.

这不是一个很有说服力的解决方案,但应该可以.

标签:mysqli,sql,mysql,php,database
来源: https://codeday.me/bug/20191208/2087817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有