@neliudov
Имярек

Как отобразить комментарий под статьёй, под которой его написали, через PDO PHP?

Здравствуйте.

У меня есть две таблицы:
articles(id, title, slug, content, author_id, date)
и comments(id, author_id, article_id, content, date). Я хочу отображать комментарии под постом, под которым его задали, то есть сравнивать, соответствует ли id из таблицы articles с article_id из таблицы comments. Это самописный блог, никаких шаблонизаторов или паттернов, использую PDO PHP. Примерно делаю следующее:

$stmt = $db->query('SELECT * FROM articles');   
$comments = $db->prepare('SELECT * FROM comments WHERE article_id = ?');

Дальше не совсем понятно, что делать. Как поступить?
  • Вопрос задан
  • 310 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Yan-s
Возможно, это ужасный код, но я только месяц с этим знаком, извините.

Да это ужасный код. Тем более для месяца изучения, за который документацию можно было прочитать раз 5 целиком.
$_SERVER['QUERY_STRING']
Вместо этого:
php.net/manual/ru/reserved.variables.get.php
php.net/manual/ru/language.variables.external.php

while ($comment = $comments->fetch(PDO::FETCH_OBJ))

Крайне не рекомендуется мешать HTML разметку с логикой к ней не относящейся. Тем более с логикой работы с БД. Разметка должна быть в отдельном файле.

Хорошие практики для начинающих:
getjump.github.io/ru-php-the-right-way
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
$stmt = $db->prepare('SELECT * FROM comments WHERE article_id = ?');
$stmt->execute([$_GET['post_id']]);
$comments = $stmt->fetchAll(PDO::FETCH_OBJ)


И дальше уже выводишь из массива $comments в разметке. Самый простой пример: phpfaq.ru/tpl
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 20:46
150000 руб./за проект
28 мар. 2024, в 20:37
50000 руб./за проект
28 мар. 2024, в 20:34
1500 руб./за проект