Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Организация базы данных для ведения статистики

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]   [41-50]   [51-60]  ...    [81-86] 

 
 автор: Valick   (20.07.2009 в 09:25)   письмо автору
 
   для: Phantom   (20.07.2009 в 08:39)
 

ну раз вам не нужно, то убирайте. вообще в этих таблицах может быть всё что угодно(соответственно касающееся юзера или домена), а время там для того чтобы например знать когда юзер впервые засветился в вашей статистике и например если за относительно короткий промежуток времени слишком много посещений, то это либо корпоративчик, либо бот накрутчик... ну примерно так.
ну а с мини операми и еже с ними это уж думайте как их различать
но ещё раз повторяю IP как составляющую, я бы оставил.
и ещё можно куку шифрованную сохранять (id + ещё что-нибудь) клиенту и чтобы это было приоритетное опознавание, если есть кука, то идентификация по ней, а если нет куки, а хеш уже присутствует в базе, то это либо тот же клиент, либо (что вероятнее) это уже другой юзер.
Ну а с зарегистрированными юзерами, вообще всё просто...

   
 
 автор: Phantom   (20.07.2009 в 08:39)   письмо автору
 
   для: Valick   (20.07.2009 в 08:03)
 

вряд ли у них будет одинаковый IP
Как раз будет. Так как у оперы мини определяется IP сервера, а серверов хоть и больше одного, но всё равно не много.
во всех TIMESTAMP в основной таблице было и DATE (заносим руками в процессе обработки буфера) и TIMESTAMP - который я потом убрал, так как не особо ценная информация.
Так я могу из остальных таблиц, кроме основной и буферной убрать поле с временем? Оно по-моему вообще там не нужно.

   
 
 автор: Valick   (20.07.2009 в 08:03)   письмо автору
 
   для: Phantom   (20.07.2009 в 07:43)
 

Если оставлять как есть, то все оперы мини определятся как один и тот же юзер.
вряд ли у них будет одинаковый IP
Ну у вас там в таблицах так указано, вот я и решил в главной таблице тип сменить на DATE
во всех TIMESTAMP в основной таблице было и DATE (заносим руками в процессе обработки буфера) и TIMESTAMP - который я потом убрал, так как не особо ценная информация.

   
 
 автор: Phantom   (20.07.2009 в 07:43)   письмо автору
 
   для: Valick   (20.07.2009 в 07:22)
 

это ещё зачем?
Ну у вас там в таблицах так указано, вот я и решил в главной таблице тип сменить на DATE и по аналогии сделать, чтобы как везде было.
я бы рекомендовал вам оставить как есть ;)
Если оставлять как есть, то все оперы мини определятся как один и тот же юзер.

   
 
 автор: Valick   (20.07.2009 в 07:22)   письмо автору
 
   для: Phantom   (20.07.2009 в 04:33)
 

Не могу найти как задать дефолтное значение DATE в виде текущей даты. То есть нужен аналог CURRENT_TIMESTAMP, но чтобы дату возвращал.
это ещё зачем?
А вместо браузера и IP можно определить уникальность каким-нибудь другим способом
я бы рекомендовал вам оставить как есть ;)

   
 
 автор: Phantom   (20.07.2009 в 04:33)   письмо автору
 
   для: Valick   (20.07.2009 в 03:29)
 

То есть из остальных таблиц можно убрать время?
-------------------------------
Класс в принципе готов. Вот только если его использовать универсально, то наверно нет смысла делать в нём метод для получения статистики. Ведь статистику может потребоваться получить в различном виде, не писать же под каждый запрос новый метод. Под свои нужды я уже сделал, осталось теперь переписать основной скрипт под этот класс и всё должно будет работать. Сделал метод addVisit($domain,$page,$uid) для добавления нового посещения. Я решил, что лучше не делать определение домена, страницы и уникального ида юзера внутри класса, а лучше передавать в качестве параметров метода. Теперь вместо домена например можно записывать в базу что-то другое, мало ли какую статистику придётся вести. А вместо браузера и IP можно определить уникальность каким-нибудь другим способом, например по сессии+куки. В общем, возможно скрипт ещё пригодится где-то в будущем =)
--------------------------------
Не могу найти как задать дефолтное значение DATE в виде текущей даты. То есть нужен аналог CURRENT_TIMESTAMP, но чтобы дату возвращал.

   
 
 автор: Valick   (20.07.2009 в 03:29)   письмо автору
 
   для: Phantom   (20.07.2009 в 01:11)
 

в каждой для прикола, а в основной действительно должно быть DATE, просто видимо забыл исправить

   
 
 автор: Phantom   (20.07.2009 в 01:11)   письмо автору
 
   для: Valick   (19.07.2009 в 11:32)
 

Почему в лопате в основную таблицу заносится дата без времени, а тип поля стоит TIMESTAMP? Будет ведь всё равно записываться дата с нулевым временем. Наверно лучше сделать тип DATE. Если я ошибаюсь, то объясните в чём. Ещё не понимаю, зачем хранить время в каждой таблице. Время вроде нужно только в буферной и основной таблицах.

   
 
 автор: Phantom   (19.07.2009 в 11:40)   письмо автору
 
   для: Valick   (19.07.2009 в 11:32)
 

Так, ладно. Ща напишу класс на основе твоего примера.

   
 
 автор: Valick   (19.07.2009 в 11:32)   письмо автору
 
   для: Phantom   (19.07.2009 в 11:10)
 

1) в данном случае можно и от всей строки.
2) не быстро, основная таблица будет гораздо больше

   

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]   [41-50]   [51-60]  ...    [81-86] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования