2013-03-26 3 views
0

так что прежде всего я проверил и исследовал этот вопрос в stackoverflow и google, но там не было похожего вопроса.Где выполнить счетчик последовательных посещений?

Я проверил Count number of consecutive visits и SQL Query: Visited the site each day for 30 consecutive days, но это не поможет.

поэтому мой вопрос заключается в том, где реализовать это действие тестирования, если пользователь посетил сайт в течение последовательного x времени, в ссылках, которые я там установил, они проверяют серверную сторону, но я думаю, что это не очень оптимизировано, потому что каждый время, когда пользователь посещает веб-сайт, запускается запрос, чтобы проверить, соответствует ли сегодняшняя дата или больше LastVisit.

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

update userInfo 
set DaysConsecutivelyVisited=DaysConsecutivelyVisited+1 
when DATEDIFF(CURDATE(),LastVisit)=1 

тогда я буду иметь два запроса каждый раз, когда пользователь загружает страницу, так Возможно, лучше, если я сделаю это на стороне клиента, а не на стороне сервера. Я положу атрибут или скрытый промежуток в документе

<body data-lastvisit="2012-03-25" > 

и в JavaScript я буду делать анализ, и если $("data-lastvisit") равно вчера я буду отправить АЯКС reqeuest обновить DaysConsecutivelyVisited

Как вы думаете, это хорошая идея?

ответ

2

Вам понадобится параметр для сравнения с ... который, к сожалению, всегда содержит данные внутри вашей таблицы базы данных. Единственное, что вы можете сделать, это получить userinfo на pageload, который, скорее всего, включает в себя поле last_visited. Если дата не равна сегодняшней дате, зарегистрируйте ее.

Кроме того, я бы сказал, создайте поле consecutive_visits и сбросьте его до 0, если разница в день больше, чем на день, и увеличит его на случай, если разница в день или меньше. Таким образом, вы всегда будете иметь количество последовательных посещений в userobject после получения его на pageload.

В этом случае я абсолютно не вижу необходимости в запросе ajax. Это просто сравнение текущих пользовательских данных с экземпляром Date() или временной меткой. Все вычисления могут выполняться на серверах, и есть потребность только в дополнительном запросе MySQL, если значения разные.

Смежные вопросы