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

Форум MySQL

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

 

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

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

тема: Извлечь рефереры за 6 5 4 3 2 1 дней
 
 автор: Panker   (08.10.2006 в 19:33)   письмо автору
 
 

вот запрос

    $ref_1 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 1 DAY)");



расчитывал что будет показывать рефералов за сегодня, но что то видимо не так сверяю?
поправте пожалуйсто :(
а то мне за неделю надо делать, а как :( не знаю :(

полный список за неделю ниже


    $ref_1 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 1 DAY)");
    $ref_2 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 2 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 1 DAY)");
    $ref_3 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 3 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 2 DAY)");
    $ref_4 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 4 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 3 DAY)");
    $ref_5 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 5 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 4 DAY)");
    $ref_6 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 6 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 5 DAY)");
    $ref_7 = mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 7 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 6 DAY)");
    


в чём ошибся ?
поправте :) тут же лдна и таже ошибка :) всё идентично :)

   
 
 автор: cheops   (09.10.2006 в 00:23)   письмо автору
 
   для: Panker   (08.10.2006 в 19:33)
 

>раcсчитывал что будет показывать результат за сегодня
Нет, это не так. Запрос будет показывать результаты за прошедшие сутки.

>в чём ошибся ?
Почему вы решили, что ошиблись? В чём проявялется ошибка?

   
 
 автор: Panker   (09.10.2006 в 08:37)   письмо автору
 
   для: cheops   (09.10.2006 в 00:23)
 

в том что не выводится не чего, прост оноль, не каких ошибок, не чего, в графике не показывается что был резульатет!


раcсчитывал что будет показывать результат за сегодня
Нет, это не так. Запрос будет показывать результаты за прошедшие сутки.

кстатати есть люди :) вот на 3-4 поста ниэже которые могут с вами посмотрить :)
Мне сказали что запрос типа 1 вей выводит за сутки сегоднешние
так и есть кстати :) проверте :) или вы опечатались :)

   
 
 автор: Panker   (09.10.2006 в 08:42)   письмо автору
 
   для: Panker   (09.10.2006 в 08:37)
 

стопс :)))
с делаю так корчое ниже код покажу так и быть :) оО этот секретный код :) но вот не задача показывается тока $day_ adn $hit_ или хост не помню как там :) но реферал не показывается в диаграме :)


<?php
Error_Reporting
(E_ALL & ~E_NOTICE);
require_once(
'as-diagrams.php'); // включить в тело своего скрипта !
require_once('../../config.php'); // включить в тело своего скрипта !

    
$day_1 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 1 DAY)");    
    
$day_2 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(),  INTERVAL 2 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 1 DAY)");
    
$day_3 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 3 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 2 DAY)");
    
$day_4 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 4 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 3 DAY)");
    
$day_5 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 5 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 4 DAY)");
    
$day_6 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 6 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 5 DAY)");
    
$day_7 mysql_query("SELECT COUNT(*) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 7 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 6 DAY)");
    
    
    
$host_1 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 1 DAY)"); 
    
$host_2 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 2 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 1 DAY)");
    
$host_3 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 3 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 2 DAY)");
    
$host_4 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 4 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 3 DAY)");
    
$host_5 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 5 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 4 DAY)");
    
$host_6 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 6 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 5 DAY)");
    
$host_7 mysql_query ("SELECT COUNT(DISTINCT s_ip) FROM stat WHERE  `s_data` > DATE_SUB(NOW(), INTERVAL 7 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 6 DAY)");
    
    
    
$ref_1 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 1 DAY)");
    
$ref_2 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 2 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 1 DAY)");
    
$ref_3 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 3 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 2 DAY)");
    
$ref_4 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 4 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 3 DAY)");
    
$ref_5 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 5 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 4 DAY)");
    
$ref_6 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 6 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 5 DAY)");
    
$ref_7 mysql_query("SELECT COUNT(*) FROM stat WHERE `s_referer` != '' > DATE_SUB(NOW(), INTERVAL 7 DAY) AND `s_data` < DATE_SUB(NOW(), INTERVAL 6 DAY)");
    

    
$data_title 'Общая статистика в графике'// title for the diagram

// sample data array
$data = array();
$data[] = array(mysql_result($day_70),mysql_result($host_7,0),mysql_result($ref_7,0));
$data[] = array(mysql_result($day_60),mysql_result($host_6,0),mysql_result($ref_6,0));
$data[] = array(mysql_result($day_50),mysql_result($host_5,0),mysql_result($ref_5,0));
$data[] = array(mysql_result($day_40),mysql_result($host_4,0),mysql_result($ref_4,0));
$data[] = array(mysql_result($day_30),mysql_result($host_3,0),mysql_result($ref_3,0));
$data[] = array(mysql_result($day_20),mysql_result($host_2,0),mysql_result($ref_2,0));
$data[] = array(mysql_result($day_10),mysql_result($host_1,0),mysql_result($ref_1,0));

$legend_x = array('Шесть дней назад''Пять дней назад''Четыре дня назад''Три дня назад''Позавчера''Вчера''Сегодня');
$legend_y = array('<a href=?id=all>Всего</a>','<a href=?id=day>Уникальных</a>','<a href=?id=ref>Рефералов</a>');

$graph = new CAsBarDiagram;
$graph->bwidth 30// set one bar width, pixels
$graph->bt_total 'Summary'// 'totals' column title, if other than 'Totals'
// $graph->showtotals = 0;  // uncomment it if You don't need 'totals' column
$graph->precision 1;  // decimal precision
// call drawing function
$graph->DiagramBar($legend_x$legend_y$data);
?>

   
 
 автор: cheops   (09.10.2006 в 14:01)   письмо автору
 
   для: Panker   (09.10.2006 в 08:37)
 

Сутки начинаются с 0 часов, поэтому для извлечения статистики за сегодняшний день NOW() не годится, так можно извлечь только статистику за прошедшие сутки. Т.е. если сейчас 14 часов, то статистика будет начинаться с 14 часов прошлого дня, а не с 0 часов сегодняшнего.

   
 
 автор: Panker   (09.10.2006 в 17:37)   письмо автору
 
   для: cheops   (09.10.2006 в 14:01)
 

а как извлечеть статистикупрошлого дня наченая от 00-00

( помойму у меян показывает стату именно за вчера, не важно какое в данный момент время)

   
Rambler's Top100
вверх

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