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

100
08 февраля 2022, 12:40

Нужно что бы к каждой записи в блоге, отображались комментарии, оставленные непосредственно для записи.

Есть две таблицы, одна с постами,другая с комментариями. Я пытаюсь выполнить следующий запрос, где :id это $_GET[id]

$sql = 'SELECT * FROM comments WHERE id=:id';

В принципе запрос работает, но проблема в том, что у меня записи в таблице постов начинаются с id 500, а комменты с id 17) Мой запрос выполняется только в том случае, если я сам руками поменяю id 17 на 500.

Возможно стоит воспользоваться джоинами? Хотя я тоже не понимаю, по каким столбцам объединять нужно.

Answer 1

В таблице с комментариями должен быть столбец, содержащий id поста, к которому относится комментарий. Назовём его к примеру pID, тогда запрос будет следующий:

$sql = 'SELECT * FROM comments WHERE pID=:id';

Результат - все комментарии, которые относятся к этому посту.

Соответственно при добавлении комментария к посту, не забываем добавить ID именно этого поста в столбец pID

READ ALSO
Проблема в ссылке на видео

Проблема в ссылке на видео

Озадачен вопросом и не мог понять и найти ответВот как выглядит моя ссылка и все работает хорошо

65
ES6 и его поведение. JavaScript [дубликат]

ES6 и его поведение. JavaScript [дубликат]

Всем приветХотел бы узнать мнение опытных кодеров, почему такое поведение у метода filter

134
Что значит оператор `!!`? [дубликат]

Что значит оператор `!!`? [дубликат]

Двойное не - что это значит?

68
Вывод в форму результата работы функции в js

Вывод в форму результата работы функции в js

Прошу прощения за тупость, но может найдётся кто нибудь, кто подскажет чайнику как вывести результаты (obj) в форму? Мне не важен конкретный...

90