Как генерировать статистику по просмотрам статей на прошлой неделе - PullRequest
1 голос
/ 28 марта 2012

Я вижу на сайтах, что у них иногда есть статистика, показывающая, сколько просмотров статьи или загрузок файла было за последнюю неделю.Я думаю, что download.com делает что-то вроде этого.Мне было интересно, как они делают это.Они на самом деле отслеживают ежедневные загрузки или я пропускаю что-то действительно простое?

Они делают что-то вроде трех строк с именами total_downloads, last_week_downloads, this_week_downloads.Затем каждую неделю копируют значение this_week_downloads в last_week_downloads, а затем сбрасывают this_week_downloads в 0?

Ответы [ 2 ]

1 голос
/ 28 марта 2012

Есть несколько способов сделать это, в зависимости от того, что вы пытаетесь получить из статистики.

Один из способов - включить в таблицу столбец visits, а затем просто увеличить это число.на 1 каждый раз, когда страница этой статьи загружается.Это, однако, не очень хорошо для предоставления количества просмотров за последние недели.Вы можете сделать это двумя способами:

1) другой столбец в вашей таблице делает то же самое, что и visits, но запустите задание cron, чтобы каждую неделю возвращать его обратно в 0.

2) создайте еще одну таблицу, содержащую article_id, ip_address и timestamp, вы будете вставлять запись каждый раз, когда кто-то посещает статью, сохраняя свой IP-адрес (что позволяет вам приблизительно получать просмотры страниц и уникальные просмотры страниц), иКонечно, отметка времени позволяет запрашивать только подмножество этих записей.Примечание: используя этот метод, вы можете хранить больше информации для статистики, но для этого требуется гораздо больше ресурсов сервера.

0 голосов
/ 28 марта 2012

Самый простой способ сделать это - связать поле MySQL с вашей статьей в базе данных и просто увеличить его .

Предполагая, что мы получаем статью 123 из вашей базы данных, в вашем коде будет что-то вроде этого:

<?php
// this would increment the number of views
$sql = "UPDATE table SET count_field=count_field+1 WHERE id=123";
...
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...