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