Так как вы строите свою собственную систему блог, здесь это самый простой способ сделать это:
Я предполагаю, что это анонимный подсчет ваших блог посещений. Если вы хотите записать записи в формате IP, вам придется настроить бизнес-логику.
- Создайте новую таблицу, называемую визитами.
- Добавить идентификатор (первичный ключ), поле под названием blogpostid (которое будет хранить идентификатор просматриваемого сообщения) и поле с именем dtpost с меткой времени или свойствами datetime, которые при вставке автоматически помещают дату/время.
Теперь вы можете запросить так:
select visits.blogpostid, count(dtpost) as counted from posts
left join posts on posts.id = visits.blogpostid
where dtpost between (NOW() AND <-21 days interval function>)
order by counted DESC group by visits.blogpostid;
Что вы на самом деле хранит в DateTime кто-то посещает ваш блог. Это автоматически означает, что любой промежуток, который вы установили, будет извлекать данные *. Затем функция count() выполняет подсчет.
Одна вещь, которую нужно знать, это то, что ваше собственное обновление браузера будет содержать подсчет посещений, поэтому вам нужно будет предоставить возможность блокировать подсчет обновления браузера (обычно это ограничение по времени или куки-файл, чтобы сказать что вы уже видели эту страницу).
* Редактировать: Так как это неоднозначно, я имею в виду, что он будет извлекать ваши данные за тот период времени, который вы хотите.
Вам нужно сделать немного больше усилий, задавая вопрос. Каковы структуры ваших таблиц? Что вы пробовали? Существует огромное количество учебников и сообщений в блогах, посвященных этой теме. – nnichols