tan*_*ndy 6 php mysql comments commenting
我正在用PHP/MySQL构建一个评论系统.这个评论系统有一个很好的功能,它允许用户突出显示文本(在数据库中存储为"selected_text"),然后突出显示的文本将与用户发表的评论一起存储在数据库中.此外,我还将段落(突出显示的文本出现)存储为INT.这些值都存储在数据库中,但现在我想用它们做些什么.
我想创建"评论计数器".这些注释计数器将放在文章中每个段落的旁边,它们将显示对它们所附加的段落所做的注释总数."评论"的视觉概述:表格结构:

我尝试检索此信息的最新查询是:
$distinct = mysql_query("SELECT COUNT(DISTINCT paragraph_id) FROM comments");
和相应的PHP代码:
while ($result_three = mysql_fetch_array($distinct))
{
echo $result_three['paragraph_id'];
}
Run Code Online (Sandbox Code Playgroud)
现在,我想我可能会以错误的方式解决这个问题.我考虑过尝试运行首先查找所有内容的查询DISTINCT paragraph_ids.接下来,我会为每个循环运行一个计算出现次数的循环paragraph_ids.
我现在正在处理的查询似乎没有实现我的目标.此外,我担心我没有明确的方法将计算的数据明确地附加到"评论计数器".
如果我理解你的问题,你需要GROUP BY paragraph_id.试试这个:
SELECT paragraph_id, COUNT(*)
FROM comments
GROUP BY paragraph_id
Run Code Online (Sandbox Code Playgroud)
小智 5
基本上,您需要计算每组段落ID中的注释。正确的查询如下:
$distinct = mysql_query("SELECT paragraph_id, (DISTINCT comment_id) as comment_count FROM comments GROUP BY paragraph_id");
while ($result_three = mysql_fetch_array($distinct))
{
echo $result_three['paragraph_id']; // Gives the id of the paragraph
echo $result_three['comment_count']; // Gives the comment count for the associated paragraph
}
Run Code Online (Sandbox Code Playgroud)