|
| |
|
|
| |
для: cheops
(13.10.2006 в 22:41)
| | | Большое спасибо за советы!
Хотя это решение и неоптимально, но благодаря Вам я впервые что-то усовершенствовал на уровне рнр, и это мне доставляет истинное удовольствие!
Спасибо! | |
| |
|
|
| |
|
|
| |
для: Владимир55
(13.10.2006 в 15:36)
| | | Для того, чтобы всё работало быстро, потребуется переход на стандартную версию счётчика, в котором производится суточное архивирование статистики, тогда можно будет обращаться к вчерашней записи в архивной таблице и это не будет требовать практически никаких временных затрат. | |
| |
|
|
| |
|
|
| |
для: Владимир55
(13.10.2006 в 14:38)
| | | Я сделал два независимых скрипта, выполняемых последовательно.
Один - Ваша первая редакция и он дает число посетителей сегодня.
Второй - редакция, текст которой я привел под чертой, дающая число посетителей вчера.
Все работает прекрасно!
Но... требует времени!
Я провел такой эксперимент.
Чистый файл на моем хостинге открывается за долю секунды.
Тот же файл со скриптом "Сегодня" открывается за 7 секунд.
Файл со скриптом "Вчера" открвается за 25-30 секунд.
Файл с обоими скритами открывается тоже за 25-30 сеунд.
Это нормально? Действительно файл на 1 Кб и обращение к базе требуют столько времени?
Или я в чем-то напортачил?
=================
<?php
require_once("config.php");
$tmp = "DATE(putdate) = DATE(NOW() - INTERVAL 1 DAY)";
$tbl_ip = "ip";
// Общее число хитов за сутки
$query_total_hit = "SELECT COUNT(*) FROM $tbl_ip WHERE ".$tmp;
// Подсчитываем число чистых IP-адресов (хостов) за сутки
$query_host = "SELECT COUNT(DISTINCT ip) FROM $tbl_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 ".$tmp;
// Осуществляем запросы к базе данных
$tot_hit = mysql_query($query_total_hit);
if(!$tot_hit) exit("total_hit ".mysql_error());
$uni_hst = mysql_query($query_host);
if(!$uni_hst) exit("host ".mysql_error());
// Получаем число хитов и хостов
$totalhists = mysql_result($tot_hit, 0);
$hosts = mysql_result($uni_hst, 0);
// Выводим их
echo "- Вчера посетителей на сайте $hosts<br>";
echo "- Вчера просмотрено страниц $totalhists<br>";
?> | |
| |
|
|
| |
|
|
| |
для: cheops
(13.10.2006 в 13:28)
| | | Заменить - это как?
В этом же скрипте вместо строки
$tmp = "YEAR(putdate) = YEAR(NOW()) AND
MONTH(putdate) = MONTH(NOW()) AND
DAYOFMONTH(putdate) = DAYOFMONTH(NOW())";
написать $tmp = "DATE(putdate) = DATE(NOW() - INTERVAL 1 DAY)";
Так?
Или Ваш код
<?php
$tmp = "DATE(putdate) = DATE(NOW() - INTERVAL 1 DAY)";
?>
вставить на страницу самостоятельно? Тогда куда - перед скриптом? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(13.10.2006 в 10:09)
| | | Попробуйте заменить содержимое переменной $tmp следующим образом
<?php
$tmp = "DATE(putdate) = DATE(NOW() - INTERVAL 1 DAY)";
?>
|
| |
| |
|
|
| |
|
|
| |
для: Владимир55
(12.10.2006 в 13:56)
| | | Архивных файлов я в своем счетчике не обнаружил.
А нельзя ли "нарастить" Ваш прежний код - ведь он прекрасно себя зарекомендовал! Вот этот:
<?php
require_once("config.php");
$tmp = "YEAR(putdate) = YEAR(NOW()) AND
MONTH(putdate) = MONTH(NOW()) AND
DAYOFMONTH(putdate) = DAYOFMONTH(NOW())";
$tbl_ip = "ip";
// Общее число хитов за сутки
$query_total_hit = "SELECT COUNT(*) FROM $tbl_ip WHERE ".$tmp;
// Подсчитываем число чистых IP-адресов (хостов) за сутки
$query_host = "SELECT COUNT(DISTINCT ip) FROM $tbl_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 ".$tmp;
// Осуществляем запросы к базе данных
$tot_hit = mysql_query($query_total_hit);
if(!$tot_hit) exit("total_hit ".mysql_error());
$uni_hst = mysql_query($query_host);
if(!$uni_hst) exit("host ".mysql_error());
// Получаем число хитов и хостов
$totalhists = mysql_result($tot_hit, 0);
$hosts = mysql_result($uni_hst, 0);
// Выводим их
echo "- сегодня посетителей на сайте $hosts<br>";
echo "- сегодня просмотрено страниц $totalhists<br>";
?> | |
| |
|
|
| |
|
|
| |
для: cheops
(12.10.2006 в 13:52)
| | | У меня стоит версия с названиями страниц, предоставленная Loki, который назвал её "хрен знает какая". Ноги растут отсюда http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3848 | |
| |
|
|
| |
|
|
| |
для: Владимир55
(12.10.2006 в 13:34)
| | | У вас сейчас новая версия счётчика (с архивированием) или старая (без архивирования)? | |
| |
|
|
| |
|
|
| | Вот здесь http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=24532&page=1 cheops рассказал, как вывести из счетчика информацию о числе посетителей и просмотренных страницах за сегодня. Я имею в виду его скрипт, начинающийся строками
Тогда вам следует использовать следующий скрипт
<?php
require_once("config.php");
$tmp = "YEAR(putdate) = YEAR(NOW()) AND
MONTH(putdate) = MONTH(NOW()) AND
Скрип работат превосходно, и, пользуясь случаем, я хочу от души поблагодарить за него cheops. Большое Вам спасбо, cheops!
Но теперь мне очень хочется вывести информацию о часле посетителей и просмотренных страницах за прошлый день. Мне кажется, что такую надстроечку к скрипту cheops сделать не так ж трудно, но мои многодневные попытки ни к чему не привели... Даже вооружившись Учебником по РНР, я так ничего и не сумел сделать! И поэтому обращаюсь с просьбой:
Какие строки добавить в упомянутый скрипт cheops, чтобы вывести информацию о чосле посетителей и просмотренных страницах за предыдущий день? | |
| |
|
|
|