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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Счётчик (алгоритм)
 
 автор: 10100100   (31.03.2006 в 12:35)   письмо автору
 
 

Приветствую всех господа!
Вот нужно написать счётчик посещаемости. Совсем простенький, нужно прост учитывать сколько людей пришло сегодня, сколько людей пришло за всё существование сайти и всё...
честно говоря - пока что туго представляю себе алгоритм, но набросал примерно вот что (пока не знаю ка это осуществляется.)
когда заходит человек его ip адрес сохраняется в базе данных на одни сутки и суммируется с другими ip адреса за сутки, затем по окончанию суток набранное колличество ip адресов переносится и записывается в другую таблицу в БД но уже так сказать для учёта с рождения сайта. а в предыдущей таблице всё обнуляется, точнее обнуляется всё что пробыло там больше суток... так?
может у когонибудь будут предложения?
буду рад любой помощи.

   
 
 автор: Loki   (31.03.2006 в 13:05)   письмо автору
 
   для: 10100100   (31.03.2006 в 12:35)
 

Простейший вариант: скачиваете power counter и отсекаете все лишнее:)
там как раз данная схема уже реализована. да и код неплохо откомментирован.

   
 
 автор: 10100100   (31.03.2006 в 13:36)   письмо автору
 
   для: Loki   (31.03.2006 в 13:05)
 

да я сначала то так и сделал :))) ток потом глянул код который придётся редактировать - чуть с ума н сошёл :))) тем более нужно учится самому делать! :)

   
 
 автор: Loki   (31.03.2006 в 14:15)   письмо автору
 
   для: 10100100   (31.03.2006 в 13:36)
 

Тогда все просто. Создаете две таблицы в БД:
id, дата, ip
id, дата, количество хостов, количество хитов
При заходе посетителя

INSERT INTO table1 VALUES (NULL, NOW(), INET_ATON('тут ip посетителя'))

а по прошествии суток:

SELECT COUNT(*) FROM table1 WHERE putdate>NOW()-INTERVAL 1 DAY //это у нас хиты
SELECT COUNT(DISTINCT(ip)) FROM table1 WHERE putdate>NOW()-INTERVAL 1 DAY //это у нас хосты

единственное что надо учесть, что если архивация происходит не по крону, то между архивациями может проходить несколько дней.

   
 
 автор: 10100100   (31.03.2006 в 16:29)   письмо автору
 
   для: Loki   (31.03.2006 в 14:15)
 

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

   
 
 автор: Loki   (31.03.2006 в 20:03)   письмо автору
 
   для: 10100100   (31.03.2006 в 16:29)
 

На самом деле, можно ничего никуда не переносить. Зависит от посещаемости... вон в power counter только в последних версиях архивация появилась... если вас интересует конкретно количество человек, то можно только создать уникальный индекс на полях даты и ip и тогда вообще всю черную работу на себя возьмет БД.

   
 
 автор: 10100100   (01.04.2006 в 12:09)   письмо автору
 
   для: Loki   (31.03.2006 в 20:03)
 

о - об этом мона поподробнее? :)

   
 
 автор: cheops   (01.04.2006 в 13:39)   письмо автору
 
   для: 10100100   (01.04.2006 в 12:09)
 

О создании индексов в таблице можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419

   
 
 автор: 10100100   (01.04.2006 в 18:12)   письмо автору
 
   для: cheops   (01.04.2006 в 13:39)
 

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

   
Rambler's Top100
вверх

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