За последние 24 часа нас посетили 20678 программистов и 1118 роботов. Сейчас ищут 368 программистов ...

Комментарии к теме

Тема в разделе "PHP и базы данных", создана пользователем eddede, 10 апр 2022.

  1. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
    Есть 2 таблицы

    мов_comment (id id_tema commentar autor data)

    мов_forum ( id tema commentar autor data )

    Следует вывести количество комментариев для темы


    Например есть тема dron и она содержит 3 комментария есть тема fish - 2 комментария

    Я разработай код. Но в моем коде нужно водить вручную ид автора и выводит сразу для всех тем комментарии 1 темы. Как сделать, чтобы оно выводило количество комментариев к определенной теме автоматически?

    PHP:
    1. $query = $mysqli->query('SELECT * FROM мов_forum');
    2. $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`');
    3. while ($row = mysqli_fetch_assoc($query1)) {
    4.     $posttitle = $row['count(c.`commentar`)'];
    5.     while($row = mysqli_fetch_assoc($query)) {
    6.         echo "<table>
    7.        <tr>
    8.            <td>".$row['id']."</td>
    9.            <td>".$row['tema']."</td>
    10.            <td>".$row['autor']."</td>
    11.            <td>".$row['data']."</td>
    12.            <td>".$posttitle."</td>
    13.  
    14.        </tr>
    15.    </table>";
    16.  
    17. }
    18. }
     
  2. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
    PHP:
    1. $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');
    2.     while($row = mysqli_fetch_assoc($query)) {
    3.         $posttitle = $row['count'];
    4.         echo "<table>
    5.        <tr>
    6.            <td>".$row['id']."</td>
    7.            <td><a href = 'comment.php?id={$row['id']}'>".$row['tema']."</a></td>
    8.            <td>".$row['autor']."</td>
    9.            <td>".$row['data']."</td>
    10.            <td>".$posttitle."</td>
    11.  
    12.        </tr>
    13.    </table>";
    14.     $avtor = $row['autor'];
    15. }
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Все равно не поймете :) Уже писал. Толку ноль.
    --- Добавлено ---
    Вообще кол-во комментов лучше кешировать в теме, если речь об этом. Можно триггерами самого мускула.
    --- Добавлено ---
    P.S. Кеш обычно используется чисто во вьюшке. Иногда он может содержать не совсем точное значение.
    --- Добавлено ---
    При чем здесь id автора? Комменты темы выбираются по id темы ;)
     
  4. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
    но я уже понял что ошибок много. я еще только учусь.)))
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Я это понял. Плохо учитесь.
     
  6. eddede

    eddede Новичок

    С нами с:
    31 мар 2022
    Сообщения:
    12
    Симпатии:
    0
    Ну на ошибках учимся)
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Пока что я вижу только ошибки. Когда все же начнете на них учиться, сообщите :)