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

Форум PHP

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

 

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

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

тема: Статистика за сегодня, вчера, 7 дней, 30 дней и за все врямя
 
 автор: Onebythinkart   (12.06.2007 в 17:41)   письмо автору
 
 

Есть код, должен выводить статистику за сегодня, вчера, 7 дней, 30 дней и за все врямя.
Выводит только за сегодня, при любой "GET" переменной.

<p>Статистика за: <a href="stat.php?periyd=now">СЕГОДНЯ</a> .:. <a href="stat.php?periyd=later">ВЧЕРА</a> .:. <a href="stat.php?periyd=week">7 ДНЕЙ</a> .:. <a href="stat.php?periyd=month">30 ДНЕЙ</a> .:. <a href="stat.php?periyd=all">ВЕСЬ ПЕРИУД</a></p>
<?php
$p 
$_GET['periyd'];
if(isset(
$_GET['periyd']) || $p 'now')
{
 
$text '<b>Периуд за сегодня:</b><br>';
 
$qk 'SELECT * FROM knopki WHERE date_format(time, \'%Y.%m.%d\') = date_format(now(), \'%Y.%m.%d\')';
  } else {
 if(
$p 'later')
  {
   
$text '<b>Периуд за вчера:</b><br>';
   
$qk 'SELECT * FROM knopki WHERE date_format(time, \'%Y.%m.%d\') = ADDDATE(date_format(now(), \'%Y.%m.%d\'),INTERVAL -1 DAY)';
    } else {
   if(
$p 'week')
    {
     
$text '<b>Периуд за 7 дней:</b><br>';
     
$qk 'SELECT * FROM knopki WHERE date_format(time, \'%Y.%m.%d\') >= ADDDATE(date_format(now(), \'%Y.%m.%d\'),INTERVAL -7 DAY)';
      } else {
     if(
$p 'month')
      {
       
$text '<b>Периуд за 30 дней:</b><br>';
       
$qk 'SELECT * FROM knopki WHERE date_format(time, \'%Y.%m.%d\') >= ADDDATE(date_format(now(), \'%Y.%m.%d\'),INTERVAL -30 DAY)';
        } else {
      if(
$p 'all')
       {
        
$text '<b>Весь периуд жизни сайта:</b><br>';
        
$qk 'SELECT * FROM knopki';
          } else {
                   }
                  }
                 }
                }
               }
              

include(
"admin/config.php");
$queryk mysql_query($qk);
$numk mysql_num_rows($queryk);

echo 
$text.'Залито кнопок:<b>'.$numk.'</b><br>Залито аватаров:<b>-</b><br>';
?>


Помогите пожалуйста.

   
 
 автор: Onebythinkart   (12.06.2007 в 18:04)   письмо автору
 
   для: Onebythinkart   (12.06.2007 в 17:41)
 

Неужели ни кто не знает?((((

   
 
 автор: elenaki   (12.06.2007 в 18:11)   письмо автору
 
   для: Onebythinkart   (12.06.2007 в 18:04)
 

if(isset($_GET['periyd']) || $p = 'now')

ошибка в операторе сравнения. для сравнения надо 2 знака "равно"
if(isset($_GET['periyd']) || $p [b]== 'now')[/b]
PS а слово период пишется через О. или вы - белорус? :)

   
 
 автор: Onebythinkart   (12.06.2007 в 18:17)   письмо автору
 
   для: elenaki   (12.06.2007 в 18:11)
 

нет, не беларус. просто так понятно мне, но хуже понятно остальным!
А за помощь спасибо всем!

   
 
 автор: Unknown   (12.06.2007 в 18:12)   письмо автору
 
   для: Onebythinkart   (12.06.2007 в 18:04)
 


... 
} elseif($_GET['periyd'] == 'later') { 
... } elseif($_GET['periyd'] == 'week') { 
... } 

и т.д.

   
 
 автор: bronenos   (12.06.2007 в 18:20)   письмо автору
 
   для: Unknown   (12.06.2007 в 18:12)
 

я бы очень посоветовал через switch......
и не писать 4 копии запросов, а подставлять данные в Х место в одном из них и слать

   
 
 автор: Onebythinkart   (12.06.2007 в 18:55)   письмо автору
 
   для: bronenos   (12.06.2007 в 18:20)
 

да вы правы, через swithc получилось получше.

Еще один повопрос. Вот такой запрос mysql выдает все записи из бд, а должен только за 7 дней.

SELECT * FROM knopki WHERE date_format(time, \'%Y%m%d\') >= ADDDATE(date_format(now(), \'%Y%m%d\'),INTERVAL -7 DAY)

в таблице "time" в виде YYYY.MM.DD HH-MM-SS

   
Rambler's Top100
вверх

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