Есть 2 таблицы мов_comment (id id_tema commentar autor data) мов_forum ( id tema commentar autor data ) Следует вывести количество комментариев для темы Например есть тема dron и она содержит 3 комментария есть тема fish - 2 комментария Я разработай код. Но в моем коде нужно водить вручную ид автора и выводит сразу для всех тем комментарии 1 темы. Как сделать, чтобы оно выводило количество комментариев к определенной теме автоматически? PHP: $query = $mysqli->query('SELECT * FROM мов_forum'); $query1 = $mysqli->query ('SELECT a.`tema`,count(c.`commentar`) FROM `мов_forum` a JOIN `мов_comment` c ON c.`id_tema` = a.`id` WHERE a.`id` = 1 GROUP BY a.`id`'); while ($row = mysqli_fetch_assoc($query1)) { $posttitle = $row['count(c.`commentar`)']; while($row = mysqli_fetch_assoc($query)) { echo "<table> <tr> <td>".$row['id']."</td> <td>".$row['tema']."</td> <td>".$row['autor']."</td> <td>".$row['data']."</td> <td>".$posttitle."</td> </tr> </table>"; } }
PHP: $query = $mysqli->query ('SELECT мов_forum.id as id, мов_forum.tema, мов_forum.autor, мов_forum.data, count(*) as count from мов_forum left join мов_comment on мов_forum.id = мов_comment.id_tema group by мов_forum.id'); while($row = mysqli_fetch_assoc($query)) { $posttitle = $row['count']; echo "<table> <tr> <td>".$row['id']."</td> <td><a href = 'comment.php?id={$row['id']}'>".$row['tema']."</a></td> <td>".$row['autor']."</td> <td>".$row['data']."</td> <td>".$posttitle."</td> </tr> </table>"; $avtor = $row['autor']; }
Все равно не поймете Уже писал. Толку ноль. --- Добавлено --- Вообще кол-во комментов лучше кешировать в теме, если речь об этом. Можно триггерами самого мускула. --- Добавлено --- P.S. Кеш обычно используется чисто во вьюшке. Иногда он может содержать не совсем точное значение. --- Добавлено --- При чем здесь id автора? Комменты темы выбираются по id темы