|
|
|
| Приветствую всех господа!
Вот нужно написать счётчик посещаемости. Совсем простенький, нужно прост учитывать сколько людей пришло сегодня, сколько людей пришло за всё существование сайти и всё...
честно говоря - пока что туго представляю себе алгоритм, но набросал примерно вот что (пока не знаю ка это осуществляется.)
когда заходит человек его ip адрес сохраняется в базе данных на одни сутки и суммируется с другими ip адреса за сутки, затем по окончанию суток набранное колличество ip адресов переносится и записывается в другую таблицу в БД но уже так сказать для учёта с рождения сайта. а в предыдущей таблице всё обнуляется, точнее обнуляется всё что пробыло там больше суток... так?
может у когонибудь будут предложения?
буду рад любой помощи. | |
|
|
|
|
|
|
|
для: 10100100
(31.03.2006 в 12:35)
| | Простейший вариант: скачиваете power counter и отсекаете все лишнее:)
там как раз данная схема уже реализована. да и код неплохо откомментирован. | |
|
|
|
|
|
|
|
для: Loki
(31.03.2006 в 13:05)
| | да я сначала то так и сделал :))) ток потом глянул код который придётся редактировать - чуть с ума н сошёл :))) тем более нужно учится самому делать! :) | |
|
|
|
|
|
|
|
для: 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 //это у нас хосты
|
единственное что надо учесть, что если архивация происходит не по крону, то между архивациями может проходить несколько дней. | |
|
|
|
|
|
|
|
для: Loki
(31.03.2006 в 14:15)
| | я так понимаю, что архивация - это перенос из одной таблицы в другую - так?
а крон - это кажись какая то там определённая дата с которой принято считать время в сети - так? | |
|
|
|
|
|
|
|
для: 10100100
(31.03.2006 в 16:29)
| | На самом деле, можно ничего никуда не переносить. Зависит от посещаемости... вон в power counter только в последних версиях архивация появилась... если вас интересует конкретно количество человек, то можно только создать уникальный индекс на полях даты и ip и тогда вообще всю черную работу на себя возьмет БД. | |
|
|
|
|
|
|
|
для: Loki
(31.03.2006 в 20:03)
| | о - об этом мона поподробнее? :) | |
|
|
|
|
|
|
|
для: 10100100
(01.04.2006 в 12:09)
| | О создании индексов в таблице можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=419 | |
|
|
|
|
|
|
|
для: cheops
(01.04.2006 в 13:39)
| | гм... про индексирование не совсем понял.. да и не важно это сейчас.. в общем я решил делать следующим образом! первую часть оставляем без изменения и затем на следующие сутки добавляем лишь колличество строк во вторую таблицу ну или суммируем с тем что там уже есть.. так помоему таблица будет менее загружена... ток вот не совсем представляю как скрипт будет определять когда находится человек на сайте... | |
|
|
|