Задать вопрос
jasonOk
@jasonOk
Легче болтать, чем код писать

Как организовать правильные запросы?

Вопрос связан с mysql-запросом
Есть список "статей" выводится на страницу с помощью while($row = $query -> fetch())
А проблема в том, что нужно отображать не только сами статьи, но и
  • количество комментариев к ним
  • Логин последнего прокомментировавшего и время комментария
  • Логин автора

Для всего этого отдельные запросы, а в других случаях их и того больше получается.

Много разных запросов к БД. И выглядит всё примерно так
while($row = $stmt -> fetch()){

$query = $DB->prepare("SELECT `login`,`gender`,`email` FROM `users`  WHERE `id`=:author limit 1");
$query -> bindParam(':author', $row['author']);
$query -> execute();
$T2 = $query -> fetch();

$query = $DB->prepare("SELECT `id`,`time`,`name` FROM `comments`  WHERE `comTo`=:id ORDER BY `id` DESC limit 1");
$query -> bindParam(':id', $row['id']);
$query -> execute();
$T = $query -> fetch();

// Допустим так выводит
echo "Название <a href="site.com/topic/'.$row['id'].'">".$row['name'].'</a>';
echo '<br> Автор <a href="'.$row['author'].'">'.$row[''].'</a>';
// и т.д.

} // end while

Суть в том, что я очень сомневаюсь, что так правильно делать. Слышал запросы в цикле делать грех, а выводить так через echo и подавно...

Бд очень будет нагружаться, верно?
Направьте на путь истинный!
  • Вопрос задан
  • 715 просмотров
Подписаться 7 Оценить Комментировать
Ответ пользователя shagguboy К ответам на вопрос (3)
@shagguboy
>количество комментариев к ним

завести отдельное поле "comments_count" и обновлять его при вставке/удалении коммента.
Ответ написан