= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '".$begin."' DAY";
$end = $tmp1.$tmp2.$tmp_page;
// Засчитанные хиты
$query_hit = "SELECT COUNT(*) FROM ip
WHERE searches != 'own_site' AND ".$end;
// Общее число хитов
$query_total_hit = "SELECT COUNT(*) FROM ip WHERE ".$end;
// Засчитанное число хостов
$query_host = "SELECT COUNT(DISTINCT ip) FROM ip
WHERE systems != 'none' AND
systems != 'robot_yandex' AND
systems != 'robot_google' AND
systems != 'robot_rambler' AND
systems != 'robot_aport' AND
systems != 'robot_msnbot' AND
".$end;
// Подсчитываем число IP-адресов (хостов)
$query_total_host = "SELECT COUNT(DISTINCT ip) FROM ip WHERE ".$end;
// Осуществляем запросы к базе данных
$pht = mysql_query($query_hit);
$tot = mysql_query($query_total_hit);
$hst = mysql_query($query_host);
$tht = mysql_query($query_total_host);
if($pht && $tot && $hst && $tht)
{
// Если запросы выполнениы удачно,
// получаем результат
$hosts = mysql_result($hst, 0);
$totalhosts= mysql_result($tht, 0);
$hits = mysql_result($pht, 0);
$totalhist = mysql_result($tot, 0);
return array($hosts, $hits, $totalhist, $totalhosts);
}
else
{
echo $query_hit."
";
echo $query_total_hit."
";
echo $query_host."
";
echo $query_total_host."
";
puterror("Ошибка при обращении к таблице IP-адресов");
}
}
// Функция возвращает массив из трёх переменных:
// количество хостов,
// количество засчитанных хитов и
// общее количества хитов.
// $begin - число часов, которое необходимо вычесть из текущей даты,
// для того чтобы получить начальную точку временного интервала
// $end - число часов, которое необходимо вычесть из текущей даты,
// для того чтобы получить конечную точку воменного интервала
// $day - число дней, которое нужно вычесть из текущей даты, чтобы
// получить интересующий нас день.
// $id_page - первичный ключ записи таблицы pages, соответствующей странице сайта
function show_ip_host_hour($begin,$end,$day,$id_page)
{
// Эта переменная определяет осуществляется ли запрос к конкретной
// странице или ко всему сайту.
if($id_page == "") $tmp_page = "";
else $tmp_page = " AND id_page=$id_page";
// Запрос на статистику за временной интервал определяемый
// параметрами $begin,$end
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate >= date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00') + interval '$end' hour";
$tmp1 = "putdate < date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00') + interval '$begin' hour";
$end = $tmp1.$tmp2.$tmp_page;
// Засчитанные хиты
$query_hits = "SELECT COUNT(*) FROM ip WHERE searches!='own_site' AND ".$end;
// Общее число хитов
$query_total = "SELECT COUNT(*) FROM ip
WHERE ".$end;
// Засчитанное число хостов
$query_host = "SELECT COUNT(DISTINCT ip) FROM ip
WHERE systems != 'none' AND
systems != 'robot_yandex' AND
systems != 'robot_google' AND
systems != 'robot_rambler' AND
systems != 'robot_aport' AND
systems != 'robot_msnbot' AND
".$end;
// Общее число хостов
$total_host = "SELECT COUNT(DISTINCT ip) FROM ip
WHERE ".$end;
// Осуществляем запросы к базе данных
$pht = mysql_query($query_hits);
$tot = mysql_query($query_total);
$hst = mysql_query($query_host);
$tht = mysql_query($total_host);
if($pht && $tot && $hst && $tht)
{
// Если запросы выполнениы удачно,
// получаем результат
$hosts = mysql_result($hst, 0);
$totalhosts= mysql_result($tht, 0);
$hits = mysql_result($pht, 0);
$totalhist = mysql_result($tot, 0);
return array($hits, $hosts, $totalhist, $totalhosts);
} else puterror("Ошибка при обращении к таблице IP-адресов");
}
function utf8_win($s)
{
$s=str_replace("\xD0\xB0","а",$s); $s=str_replace("\xD0\x90","А",$s);
$s=str_replace("\xD0\xB1","б",$s); $s=str_replace("\xD0\x91","Б",$s);
$s=str_replace("\xD0\xB2","в",$s); $s=str_replace("\xD0\x92","В",$s);
$s=str_replace("\xD0\xB3","г",$s); $s=str_replace("\xD0\x93","Г",$s);
$s=str_replace("\xD0\xB4","д",$s); $s=str_replace("\xD0\x94","Д",$s);
$s=str_replace("\xD0\xB5","е",$s); $s=str_replace("\xD0\x95","Е",$s);
$s=str_replace("\xD1\x91","ё",$s); $s=str_replace("\xD0\x81","Ё",$s);
$s=str_replace("\xD0\xB6","ж",$s); $s=str_replace("\xD0\x96","Ж",$s);
$s=str_replace("\xD0\xB7","з",$s); $s=str_replace("\xD0\x97","З",$s);
$s=str_replace("\xD0\xB8","и",$s); $s=str_replace("\xD0\x98","И",$s);
$s=str_replace("\xD0\xB9","й",$s); $s=str_replace("\xD0\x99","Й",$s);
$s=str_replace("\xD0\xBA","к",$s); $s=str_replace("\xD0\x9A","К",$s);
$s=str_replace("\xD0\xBB","л",$s); $s=str_replace("\xD0\x9B","Л",$s);
$s=str_replace("\xD0\xBC","м",$s); $s=str_replace("\xD0\x9C","М",$s);
$s=str_replace("\xD0\xBD","н",$s); $s=str_replace("\xD0\x9D","Н",$s);
$s=str_replace("\xD0\xBE","о",$s); $s=str_replace("\xD0\x9E","О",$s);
$s=str_replace("\xD0\xBF","п",$s); $s=str_replace("\xD0\x9F","П",$s);
$s=str_replace("\xD1\x80","р",$s); $s=str_replace("\xD0\xA0","Р",$s);
$s=str_replace("\xD1\x81","с",$s); $s=str_replace("\xD0\xA1","С",$s);
$s=str_replace("\xD1\x82","т",$s); $s=str_replace("\xD0\xA2","Т",$s);
$s=str_replace("\xD1\x83","у",$s); $s=str_replace("\xD0\xA3","У",$s);
$s=str_replace("\xD1\x84","ф",$s); $s=str_replace("\xD0\xA4","Ф",$s);
$s=str_replace("\xD1\x85","х",$s); $s=str_replace("\xD0\xA5","Х",$s);
$s=str_replace("\xD1\x86","ц",$s); $s=str_replace("\xD0\xA6","Ц",$s);
$s=str_replace("\xD1\x87","ч",$s); $s=str_replace("\xD0\xA7","Ч",$s);
$s=str_replace("\xD1\x88","ш",$s); $s=str_replace("\xD0\xA8","Ш",$s);
$s=str_replace("\xD1\x89","щ",$s); $s=str_replace("\xD0\xA9","Щ",$s);
$s=str_replace("\xD1\x8A","ъ",$s); $s=str_replace("\xD0\xAA","Ъ",$s);
$s=str_replace("\xD1\x8B","ы",$s); $s=str_replace("\xD0\xAB","Ы",$s);
$s=str_replace("\xD1\x8C","ь",$s); $s=str_replace("\xD0\xAC","Ь",$s);
$s=str_replace("\xD1\x8D","э",$s); $s=str_replace("\xD0\xAD","Э",$s);
$s=str_replace("\xD1\x8E","ю",$s); $s=str_replace("\xD0\xAE","Ю",$s);
$s=str_replace("\xD1\x8F","я",$s); $s=str_replace("\xD0\xAF","Я",$s);
return $s;
}
// Функция возвращает массив из пяти переменных:
// Число переходов со страниц поисковой системы Rambler
// Число переходов со страниц поисковой системы Google
// Число переходов со страниц поисковой системы Yandex
// Число переходов со страниц поисковой системы Aport
// Общее число переходов со страниц всех поисковых систем
// $begin - число дней, которое необходимо вычесть из текущей даты,
// для того чтобы получить начальную точку временного интервала
// $end - число дней, которое необходимо вычесть из текущей даты,
// для того чтобы получить конечную точку временного интервала
// $id_page - первичный ключ записи таблицы pages, соответствующей странице сайта
function search($begin,$end,$id_page)
{
// Эта переменная определяет осуществляется ли запрос к конкретной
// странице или ко всему сайту.
if($id_page == "") $tmp = "";
else $tmp = " AND id_page = $id_page";
// Запрос на статистику за временной интервал определяемый
// параметрами $begin,$end
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate >= DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '$begin' DAY";
$tmp1 = "AND putdate < DATE_FORMAT(NOW(),'%Y-%m-%d 23:59:59') - INTERVAL '$end' DAY";
// Формируем SQL-запросы
$begin = "SELECT COUNT(*) FROM searchquerys WHERE searches =";
$end = $tmp1.$tmp2.$tmp;
$query['ynd'] = $begin."'yandex' ".$end;
$query['ram'] = $begin."'rambler' ".$end;
$query['gog'] = $begin."'google' ".$end;
$query['apt'] = $begin."'aport' ".$end;
$query['mal'] = $begin."'mail' ".$end;
$query['msn'] = $begin."'msn' ".$end;
// Выполняем SQL-запросы
foreach($query as $search => $value)
{
$hit["$search"] = mysql_query($value);
if(!$hit["$search"]) puterror("Ошибка при обращении к таблице IP-адресов");
$hits["$search"] = mysql_result($hit["$search"], 0);
}
$total = array_sum($hits);
// Во избежание деления на 0 проверяем значение общего $total
if($total == 0) $total = 1;
return array($hits['ram'], $hits['ynd'], $hits['apt'], $hits['gog'], $hits['mal'], $hits['msn'], $total);
}
// Функция возвращает массив из пяти переменных:
// Число переходов со страниц поисковой системы Rambler
// Число переходов со страниц поисковой системы Google
// Число переходов со страниц поисковой системы Yandex
// Число переходов со страниц поисковой системы Aport
// Общее число переходов со страниц всех поисковых систем
// $begin - число часов, которое необходимо вычесть из текущей даты,
// для того чтобы получить начальную точку временного интервала
// $end - число часов, которое необходимо вычесть из текущей даты,
// для того чтобы получить конечную точку временного интервала
// $day - число дней, которое нужно вычесть из текущей даты, чтобы
// получить интересующий нас день.
// $id_page - первичный ключ записи таблицы pages, соответствующей странице сайта
function search_hour($begin,$end,$day,$id_page)
{
// Эта переменная определяет осуществляется ли запрос к конкретной
// странице или ко всему сайту.
if($id_page == "") $tmp = "";
else $tmp = " AND id_page = $id_page";
// Запрос на статистику за временной интервал определяемый
// параметрами $begin,$end
if($begin == 0) $tmp2 = "";
else $tmp2 = " AND putdate>=date_add(date_format(date_sub(now(),interval '$day' day),'%Y-%m-%d 00:00:00'),interval '$end' hour)";
$tmp1 = " AND putdate $value)
{
$hit["$search"] = mysql_query($value);
if(!$hit["$search"]) puterror("Ошибка при обращении к таблице IP-адресов");
$hits["$search"] = mysql_result($hit["$search"], 0);
}
$total = array_sum($hits);
// Во избежание деления на 0 проверяем значение общего $total
if($total == 0) $total = 1;
return array($hits['ram'], $hits['ynd'], $hits['apt'], $hits['gog'], $hits['mal'], $hits['msn'], $total);
}
?>