Я создаю систему комментирования на PHP/MySQL. Эта система комментирования имеет хорошую функцию, которая позволяет пользователям выделять текст (хранится как "выделенный_текст" в базе данных) и этот выделенный текст будет затем сохранен в базе данных вместе с комментарием, который сделал пользователь. Кроме того, я также сохраняю абзац (в котором появился выделенный текст) как INT. Все эти значения правильно хранятся в базе данных, но теперь я хочу что-то с ними сделать.
Я хочу создать "счетчики комментариев". Эти счетчики комментариев будут размещены рядом с каждым абзацем в статье, и они будут отображать общее количество комментариев, сделанных к абзацу, к которому они прикреплены. Визуальный обзор структуры таблицы "comments":
Мой последний запрос для получения этой информации:
$distinct = mysql_query("SELECT COUNT(DISTINCT paragraph_id) FROM comments");
И соответствующий PHP-код:
while ($result_three = mysql_fetch_array($distinct))
{
echo $result_three['paragraph_id'];
}
Теперь я думаю, что, возможно, я иду по неправильному пути. Я рассматривал возможность выполнения запроса, который сначала находит все DISTINCT paragraph_ids
. После этого я запускаю цикл for each, который подсчитывает, сколько раз появляются эти paragraph_ids
.
Запрос, с которым я сейчас работаю, похоже, не достигает моей цели. Кроме того, меня беспокоит, что нет четкого способа четко привязать подсчитанные данные к "счетчику комментариев".