Как я могу прокомментировать подсчет каждой темы и повторить результат? - PullRequest
0 голосов
/ 11 февраля 2012

Привет, я знаю php / mysql, и я хочу знать, как считать комментарии для каждой темы и отображать число рядом с темой.В основном я показываю 25 заголовков темы на странице, и когда вы нажимаете на них, вы переходите на страницу, где отображаются все связанные комментарии.Я пытался просто посчитать комментарии "comment_id", которые соответствуют "id", и отобразить их рядом с заголовками, все в цикле while.просто дайте мне знать, какая информация вам нужна, и я опубликую ее как можно скорее.Благодарю.

1 Ответ

0 голосов
/ 11 февраля 2012

Нам нужно знать структуры соответствующих таблиц, чтобы иметь возможность дать вам определенный ответ, но запрос должен быть примерно таким:

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";

}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...