我如何评论每个线程的计数,并回显结果?

时间:2012-02-11 00:51:08

标签: php mysql count comments

嘿,我知道php / mysql,我想知道如何计算每个线程的注释,并回显线程旁边的数字。 基本上我每页显示25个主题标题,当你点击它们时,它会带你到一个显示所有相关注释的页面。我试图简单地计算与“comment_id”匹配的评论“id”并在标题旁边回显它们,所有这些都在while循环中。 请告诉我您需要哪些信息来帮助我,我会尽快发布。 谢谢。

1 个答案:

答案 0 :(得分:0)

我们需要知道相关表格的结构才能给出明确的答案,但查询应该是这样的 -

SELECT thread.id, thread.title, COUNT(comment.id) AS comment_count
FROM thread
LEFT JOIN comment
    ON thread.id = comment.thread_id
GROUP BY thread.id, thread.title

这是一个相当粗略的例子,我没有尝试过运行它,但它应该没问题 -

<?php

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}


$sql = 'SELECT thread.id, thread.title, COUNT(comment.id) AS comment_count
    FROM thread
    LEFT JOIN comment
        ON thread.id = comment.thread_id
    GROUP BY thread.id, thread.title';

$results = $dbh->query($sql);

while ($row = $results->fetchObject()) {

    print "<a href=\"show_thread.php?thread_id={$thread->id}\">{$row->title} ({$row->comment_count})</a><br />\n";

}

?>