Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Просмотренные страницы
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Продумываю структуру БД, столкнулся с некоторыми сложностями.
Вобщем сайт, в БД таблица с зарегистрированными пользователями.
Далее я опишу, что необходимо и свое видение решения этого. Если что, прошу поправить меня, либо посоветовать что более лучшее. Спасибо!
Итак, необходимо:
1) подсчитывать количество просмотреных страниц за сутки. Ну тут все просто делаем таблицу (date, views) и при каждом обращении views + 1
2) подсчитывать количество уникальных пользователей за сутки. Тут уже чуть сложнее. Для зарегистрированных пользователей просто - опять таки таблица (user_id, date, views), а вот для гостей сложнее. Для гостей планирую писать ip + user_agent и это уже считать уникальным пользователем.
3) необходимо иметь возможность просмотра, какие страницы просматривал пользователь. Вот тут у меня небольшой ступор. Как фиксировать страницы? Думал может писать в БД их адресс? Тогда таблица имеет следующий вид: user_id, datetime, page_uri.
В итоге исходя из всего этого планирую сделать следующие таблицы:
- page_views (user_id, datetime, page_uri)
- anonym_users (hash, date, views) hash - это хеш ip + user_agent
При выводе количества просмотреных страниц за сутки считаем количество записей за опред. день в 1 таблице прибавляем к нему сумму всех просмотров за опред. день из второй таблице.
При выводе уникальных посетителей считаем кол-во уникальных user_id за опред. дату в первой таблице + кол-во записей за опред. день из второй
Ну с просмотром страниц пользователя вобще все просто - зачитываем из перво таблицы все по опред. пользователю и дате.
Верно ли я вобще мыслю?
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Мелкий
Отправлено: 05 Сентября, 2012 - 19:11:19
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
я.метрика, г.аналитика не подходят?
----- PostgreSQL DBA
armancho7777777
Отправлено: 05 Сентября, 2012 - 19:26:31
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
Мелкий пишет:
я.метрика, г.аналитика не подходят?
Думал над этим, предлагал заказчику, но он, скажем так, не в восторге от этого предложения, мол хотелось бы что-то свое, без привличения сторонних средств.
Меня самого если честно заинтересовала сама реализация всего этого хлама Единственное тревожит, так это количество самих данных. Ведь страниц достаточно много, пользователей также хватает... Вобщем записывая каждую просмотренную страницу, в скорем времени рискуем получить достаточно большое количество записей в таблице и тревожит время обработки всех подсчетов, сумм ну и т.д. (Добавление)
armancho7777777 пишет:
Если интересно моё мнение, то - да, всё верно.
Конечно интересно, ведь для этого и создана тема.
Но тут возникает вопрос, а как улучшить? Ведь нет предела совершенству.
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.