Вернуться   Форумы Якутск Онлайн > Hi-Tech > Сисадмины и программисты > Веб-дизайн
Ответ
 
Опции темы Опции просмотра

Статистика посещений за неделю
Старый 19.09.2009, 10:24   #1
Renovatio
Постоялец
 
Аватар для Renovatio
 
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
Renovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутацию
По умолчанию Статистика посещений за неделю

Как написать статистику посещений за неделю?
Например вот так:
Понедельник: 25
Вторник: 15
Среда: 23
Четверг: 20
Пятница: 5
Суббота: 100
Воскресенье: 120
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни

Последний раз редактировалось Renovatio, 19.09.2009 в 10:54.
  Ответить с цитированием

Старый 19.09.2009, 11:22   #2
rohard
Постоялец
 
Аватар для rohard
 
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
rohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутацию
Отправить сообщение для rohard с помощью ICQ
По умолчанию

Если тебе нужно знать, сколько людей посещают твой сайт по пятницам, к примеру, то так же, как и обычный счетчик посещений. Только запись должна производиться в разные файлы (7 штук, на каждый день недели). Можешь и в БД, только смысла не много.

Если же тебе нужно знать сколько твой сайт посетили в конкретную пятницу (опять же, к примеру), то тут все немного сложнее.
__________________
Почти.
  Ответить с цитированием

Старый 19.09.2009, 11:44   #3
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от rohard Посмотреть сообщение
Если же тебе нужно знать сколько твой сайт посетили в конкретную пятницу (опять же, к примеру), то тут все немного сложнее.
Если с бд работать, то совсем не намного.

Цитата:
Сообщение от rohard Посмотреть сообщение
Имелось в виду, что десятком файлов и парой-тройкой строчек тут не обойтись ;)
Пожалуй да )

Последний раз редактировалось Googleman, 19.09.2009 в 14:23.
  Ответить с цитированием

Старый 19.09.2009, 12:04   #4
rohard
Постоялец
 
Аватар для rohard
 
rohard вне форума
Регистрация: 19.01.2009
Адрес: На восток от Солнца, на запад от Луны.
Сообщений: 1,120
rohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутациюrohard имеет наиславнейшую репутацию
Отправить сообщение для rohard с помощью ICQ
По умолчанию

Цитата:
Сообщение от Googleman Посмотреть сообщение
Если с бд работать, то совсем не намного.
Имелось в виду, что десятком файлов и парой-тройкой строчек тут не обойтись ;)
__________________
Почти.
  Ответить с цитированием

Старый 20.09.2009, 03:31   #5
rozdo
Новичок
 
rozdo вне форума
Регистрация: 19.09.2009
Сообщений: 2
rozdo на пути к уважению
По умолчанию

А не проще использовать статистику крупных сайтов? К примеру liveinternet.ru
  Ответить с цитированием

Старый 20.09.2009, 11:25   #6
Весёлый Молочник
Нарушитель правил поведения на форуме
 
Весёлый Молочник вне форума
Регистрация: 06.10.2006
Адрес: Якутск
Сообщений: 5,530
Весёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутациюВесёлый Молочник имеет наиславнейшую репутацию
Отправить сообщение для Весёлый Молочник с помощью ICQ
По умолчанию

Не проще, просто потому, что юзверы СТК сидят без внешки, следовательно счётчик их обрабатывать не будет.
  Ответить с цитированием

Старый 21.09.2009, 11:00   #7
Renovatio
Постоялец
 
Аватар для Renovatio
 
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
Renovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутацию
По умолчанию

Может напишите мне примерный код?
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни
  Ответить с цитированием

Старый 22.09.2009, 22:23   #8
Regis Filius
SuperVisor TF2
 
Regis Filius вне форума
Регистрация: 21.06.2008
Сообщений: 623
Regis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутацию
По умолчанию

Ни разу не писал код статистики посещений за неделю, но думаю, что ничего сложного тут нет. Главное определиться с тем, что можно считать посещением и как долго сохранять статистику. Довольно легко можно будет сделать статистику на каждый день, которая будет считать сколько всего открывали страницу пользователи без учёта с какого IP и каких браузеров заходили. Если делать подсчёт уже с тем, что данные с одного IP не считаются, чуть сложнее.
Наиболее простой вариант: вписать код, который будет обновлять таблицу views, которая содержит в себе всего три столбца: ID, дата и количество просмотров. Каждое открытие страницы увеличивает количество просмотров на один у определённого дня, в дате будет записана дата в днях, месяцах и годах. Код каждый раз проверяет который сейчас день, если такой день уже имеется, то увеличивает количество просмотров, если нет, то создаёт новую строчку, которая датой соответствует той, которая сейчас, и ставит количество просмотров 1. Ну и потом следующее посещения увеличивают счётчик. Топорно, но работать будет.

UPDATE:
Наскоряк написал код, получилось довольно компактно. Как вариант можно добавить ещё один столбец, в котором хранился бы день недели (понедельник, вторник и т.д.), чтобы выводить и его тоже. Если делать проверку по IP, то надо будет создавать ещё одну таблицу, где будут вестись логи посещения или же уместить всё в одной таблице и количество просмотров будет равняться количеству различных IP, которые заходили на сайт за определенный день. С помощью этого же можно прослеживать за тем, кто именно посещает сайт.

Последний раз редактировалось Regis Filius, 23.09.2009 в 11:45.
  Ответить с цитированием

Старый 23.09.2009, 20:48   #9
Renovatio
Постоялец
 
Аватар для Renovatio
 
Renovatio вне форума
Регистрация: 04.12.2007
Адрес: Стул
Сообщений: 751
Renovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутациюRenovatio имеет наиславнейшую репутацию
По умолчанию

Цитата:
Сообщение от Regis Filius Посмотреть сообщение
UPDATE:
Наскоряк написал код, получилось довольно компактно. Как вариант можно добавить ещё один столбец, в котором хранился бы день недели (понедельник, вторник и т.д.), чтобы выводить и его тоже. Если делать проверку по IP, то надо будет создавать ещё одну таблицу, где будут вестись логи посещения или же уместить всё в одной таблице и количество просмотров будет равняться количеству различных IP, которые заходили на сайт за определенный день. С помощью этого же можно прослеживать за тем, кто именно посещает сайт.
Большое спасибо за советы! Мне очень помог. А где кстати код который ты написал наскоряк?
__________________
Когда власть любви превзойдет
любовь к власти,наступит мир на земле. -Jimi Hendrix Тыкни
  Ответить с цитированием

Старый 23.09.2009, 22:24   #10
Regis Filius
SuperVisor TF2
 
Regis Filius вне форума
Регистрация: 21.06.2008
Сообщений: 623
Regis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутациюRegis Filius имеет наиславнейшую репутацию
По умолчанию

Эээ... я его уже удалил. Вот новый код написал только что.

Без проверки по IP, зато с русскими днями недели из-за чего код стал несколько длиннее. Что мне здесь не нравится, так это то, что приходится отправлять целых три запроса в базу данных.
Кто-нибудь может подсказать, как убрать лишний запрос в 55 строке, если возможно?

PHP код:
<html><body>
<?php
// ПОДКЛЮЧАЕМСЯ К БАЗЕ ДАННЫХ
mysql_connect ('localhost''user''pass');
mysql_select_db ('test');

// ПОЛУЧАЕМ ДАННЫЕ О ПОСЕЩЕНИЯХ ЗА ПОСЛЕДНИЕ СЕМЬ ДНЕЙ
$query mysql_query ("SELECT * FROM `logs` ORDER BY `date` DESC LIMIT 7");
$row mysql_fetch_array ($query);

// ЕСЛИ ЕСТЬ ПОСЕЩЕНИЯ, ВЫВОДИМ СТАТИСТИКУ ЦИКЛОМ
if ($row 0)
{
do
{
$date $row['date'];
$wday $row['wday'];
$views $row['views'];
echo 
"$date ($wday) - $views <br />";
}
while (
$row mysql_fetch_array ($query));
}
// ЕСЛИ НЕ БЫЛО ПОСЕЩЕНИЙ
else echo "Вы наш первый посетитель! о_О <br />";

// ДОБАВЛЯЕМ НАШЕ ПОСЕЩЕНИЕ ПОСЛЕ ПРОВЕРКИ, ЕСТЬ ЛИ ПОСЕЩЕНИЯ НА ЭТОТ ДЕНЬ 
$date date('Y-m-d');
$wday date('D');
// РУССКОЕ НАЗВАНИЕ ДЛЯ НЕДЕЛИ
switch ($wday)
{
case 
Mon:
    
$wday 'Понедельник';
    break;
case 
Tue:
    
$wday 'Вторник';
    break;
case 
Wed:
    
$wday 'Среда';
    break;
case 
Thu:
    
$wday 'Четверг';
    break;
case 
Fri:
    
$wday 'Пятница';
    break;
case 
Sat:
    
$wday 'Суббота';
    break;
case 
Sun:
    
$wday 'Воскресение';
    break;
}
// ВОТ ЭТОТ ЛИШНИЙ ЗАПРОС
$query mysql_query ("SELECT * FROM `logs` WHERE `date`='$date'"); 
$row mysql_fetch_array ($query);
if (
$row 0$update mysql_query ("UPDATE `logs` SET `views`=`views`+1 WHERE `date`='$date'");
else 
$insert mysql_query ("INSERT INTO `logs` SET `date`='$date', `wday`='$wday', `views`='1'");
?>
</body></html>
Таблица logs:
PHP код:
CREATE TABLE `logs` (
`
idMEDIUMINT NOT NULL AUTO_INCREMENT ,
`
dateDATE NOT NULL ,
`
wdayVARCHAR15 NOT NULL ,
`
viewsMEDIUMINT NOT NULL ,
PRIMARY KEY ( `id` )
); 
P.S. Я изобрёл колесо
  Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +9, время: 11:32.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2024, Якутск-Online. Перевод: zCarot