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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Показать всех посетителей за 1 день!

Сообщения:  [1-10]   [11-20] 

 
 автор: Panker   (11.10.2006 в 15:53)   письмо автору
 
   для: cheops   (11.10.2006 в 15:40)
 

у меня диаграма типа класс и мона под себя настроить и я не знаю как так вт настроить :(

вот вид диаграмы


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


$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);
?>


там на верхзу прокоментировано с боку, типа тут как 30 раз так сделать что бы выводило 30 дней прошлого месяца :)

   
 
 автор: cheops   (11.10.2006 в 15:40)   письмо автору
 
   для: Panker   (11.10.2006 в 14:05)
 

Хм... а не проще всё это средствами PHP сделать
<?php
  
// Текущий год
  
$year date("Y");
  
// Определяем текущий месяц
  
$month date("n");
  
// Предыдущий месяц
  
$prev_month $month 1;
  
// Количество дней в прошлом месяце
  
$count_day date("t"mktime(000$prev_month1$year));
  
// Выводим информацию за прошлый месяц по дням
  
for($i 1$i <=$count_day$i++)
  {
    
// Вычисляем текущий день
    
$time mktime(000$prev_month$i$year);
    
// Формируем SQL-запрос
    
$query "SELECT COUNT(*) FROM stat 
              WHERE s_date > '"
.date("Y-m-d H:i:s",$time)."' AND 
              s_date < '"
.date("Y-m-d H:i:s",$time)."' + INTERVAL 1 DAY";
    echo 
$query."<br>";
  }
?>

   
 
 автор: Panker   (11.10.2006 в 14:05)   письмо автору
 
   для: cheops   (11.10.2006 в 12:42)
 

Сегодня октябрь, значит надо показывать сентябрь!

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

То есть я думаю мне нужно делать 30 запросов к базе, то есть за 30 дней назад 29 дней 28 дней и так адлее, но надо как то делать так что бы они были от 1 по 30 число не зависемо от сегоднешнего дня, ведь сегодня может быть и 1 число и 31 :(

   
 
 автор: cheops   (11.10.2006 в 12:42)   письмо автору
 
   для: Panker   (11.10.2006 в 09:55)
 

Да этот код отталкивается от даты текущего дня. Вы скажите какой отчёт вы хотите вывести, может можно использовать более удобную форму? Какие месяцы вы хотите вывести и за какой период?

   
 
 автор: Panker   (11.10.2006 в 09:55)   письмо автору
 
   для: cheops   (10.10.2006 в 23:06)
 

я ошибаюст или этот код отталкивается от даты сегоднешнего дня?

   
 
 автор: cheops   (10.10.2006 в 23:06)   письмо автору
 
   для: Panker   (10.10.2006 в 20:35)
 

Для этого можно поступить следующим образом
SELECT COUNT(*) FROM `stat`   
WHERE MONTH(s_date) = MONTH(NOW() - INTERVAL 1 MONTH) AND  
      YEAR(s_date) = YEAR(NOW() - INTERVAL 1 MONTH)

   
 
 автор: Panker   (10.10.2006 в 20:35)   письмо автору
 
   для: cheops   (10.10.2006 в 13:55)
 

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

   
 
 автор: cheops   (10.10.2006 в 13:55)   письмо автору
 
   для: Panker   (10.10.2006 в 10:34)
 

Не понятно. Вам требуется вывести информацию за текущий месяц или произвольный, если за текущий, то можно поступить следующим образом
SELECT COUNT(*) FROM `stat`  
WHERE MONTH(s_date) = MONTH(NOW()) AND 
      YEAR(s_date) = YEAR(NOW())

   
 
 автор: Panker   (10.10.2006 в 10:34)   письмо автору
 
   для: cheops   (06.10.2006 в 23:07)
 

Допустим сегодня 18 или 30 или 3 число это не важно!

Как мне сделать независимую от сегоднешнего числа статистику или запросы что бы было с 1го числа по 30 даже могу забить на 31 :)

типа у меян столбики и как ПРАЫВЕЛЬНО вывести инфу, а то Хеопс говорит что типа вывод как я сейчас вывлжу не правельный типа NOW()

   
 
 автор: cheops   (06.10.2006 в 23:07)   письмо автору
 
   для: Panker   (05.10.2006 в 12:10)
 

Можно поступить следующим образом
SELECT COUNT(*) FROM `stat` 
WHERE DAY(s_date) = DAY(NOW()) AND
      MONTH(s_date) = MONTH(NOW()) AND
      YEAR(s_date) = YEAR(NOW())

или вообще так
SELECT COUNT(*) FROM `stat` 
WHERE DATE(s_date) = DATE(NOW())

   

Сообщения:  [1-10]   [11-20] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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