Меня интересует такой вопрос. Вот к примеру у нас есть информационный сайт. В нем есть какие-то новости (статьи). Новости могут читать как зарегистрированные пользователи, так и не зарегистрированные.
Как можно организовать счетчик к стотьям? Т.е. как считать кол-во просмотров?
Мне интересна сама идея. Например: писать в кукис мд5 ключ. В базе создать табличку: мд5 ключ => ИД-новости. И потом уже проверять смотрел юзер эту статью или нет.
Может есть более элегантный вариант?
Спустя 8 минут, 38 секунд (19.06.2012 - 09:56) Игорь_Vasinsky написал(а):
пиши +1 либо в файл либо в БД
если уникальные просмотры нужны то сравнивай IP и useragent например.
чтобы каждый раз добавлять к просмотрам - читай и добавляй+1, потом перезаписывай кол-во просмотров.
у каждой статьи есть уникальный id - к нему и привязывайся
если уникальные просмотры нужны то сравнивай IP и useragent например.
чтобы каждый раз добавлять к просмотрам - читай и добавляй+1, потом перезаписывай кол-во просмотров.
у каждой статьи есть уникальный id - к нему и привязывайся
Спустя 47 минут (19.06.2012 - 10:43) forza написал(а):
Алгоритм ясен. А как вы считаете, что делать с одним и тем же человеком, если, допуситм, он прочитал одну и туже статью 2 раза в течении получаса? Прибавлять просмотр к статье или нет?
Уникальность не так важна. Тут скорей всего нужно увеличивать счетчик, даже если один и тотже человек прочитал ее несколько раз за день. В таком случае, чтобы избежать накрутки, можно хранить в сессии время последнего запроса и сверять его постоянно. Как такой вариант?
Уникальность не так важна. Тут скорей всего нужно увеличивать счетчик, даже если один и тотже человек прочитал ее несколько раз за день. В таком случае, чтобы избежать накрутки, можно хранить в сессии время последнего запроса и сверять его постоянно. Как такой вариант?
Спустя 3 минуты, 59 секунд (19.06.2012 - 10:47) Игорь_Vasinsky написал(а):
это на твоё усмотрение, тем более что если статья разбита на страницы.
я у себя учитываю каждый просмотр, каждый.
я у себя учитываю каждый просмотр, каждый.
Спустя 16 минут, 5 секунд (19.06.2012 - 11:03) forza написал(а):
Да вот тут как раз собака и зарыта. В логике построения.
А как вы у себя считаете кол-во просмтров в Кинозавре ?-)
А как вы у себя считаете кол-во просмтров в Кинозавре ?-)
Спустя 3 минуты, 44 секунды (19.06.2012 - 11:07) sergeiss написал(а):
Тут целый конкурс был http://phpforum.ru/index.php?showforum=133 на эту тему Там много чего можешь найти интересного.
Спустя 1 час, 4 минуты, 57 секунд (19.06.2012 - 12:12) Игорь_Vasinsky написал(а):
Цитата |
А как вы у себя считаете кол-во просмтров в Кинозавре ?-) |
всё бонально и очень просто
я пишу в БД, у меня таблица для подсчёта
id | fid | counts
fid - id фильма и он в таблице прописан с UNIQUE
при записи показов я не учитываю не фига ты можешь 10 раз обновить страницу и 10 показов добавиться
я просто делаю запрос в бд для определённого fid с ON DUPLICATE KEY UPDATE если fid есть в БД я добавляю 1 и обновляю запись, если fid нету - создаётся запись с counts 0
Спустя 26 минут, 8 секунд (19.06.2012 - 12:38) forza написал(а):
Ну и правильно -) Лишний гемор только.
А для чего структура id | fid | counts ? Если и так fid - Unique? Не лишнее поле id ?
А для чего структура id | fid | counts ? Если и так fid - Unique? Не лишнее поле id ?
Спустя 1 минута, 22 секунды (19.06.2012 - 12:40) Игорь_Vasinsky написал(а):
это моя привычка.... мало ли.. id же auto_increment у меня всегда...
и вишь - мне не критично что ты один или бот - может нащёлкать)) мне на оборот важно показать интересность фильма.
и вишь - мне не критично что ты один или бот - может нащёлкать)) мне на оборот важно показать интересность фильма.
Спустя 9 минут (19.06.2012 - 12:49) forza написал(а):
while(true)
{
...
curl_setopt($ch, CURLOPT_URL, $url);
...
}
И через день мы собираем больше просмотров чем все кинотеатры :)
А вообще правильная филосифия. Нужно же показать интерес матриала.
Спустя 2 минуты, 29 секунд (19.06.2012 - 12:51) Игорь_Vasinsky написал(а):
не.. для меня хоть малость - но статистики интересует
_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио