Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не подставляется дата в SQL запросе при while

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: При проходе по цыклу while в SQL запросе не меняется дата.
RuSS_lan
Отправлено: 24 Июня, 2013 - 20:41:33
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2013  


Помог: 0 раз(а)




Всем привет.
Я новичок в программировании потому не пинайте так сурово.

Есть у меня цыкл.
То есть дата автоматом идет сегодняшняя, мне нужно сделать проверку в таблице есть ли на эту дату какое то событие, но это потом.

Проблема у меня в том что даты в самом цыкле плюсуются правильно но вот в саму строку запроса не попадает новая дата.

PHP:
скопировать код в буфер обмена
  1. $tomorrow = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
  2.   $i = 1;
  3.  
  4. while ($i <= 10) {
  5.          $res = $modx->db->query("SELECT COUNT(*) FROM `table_excurs` WHERE `dateex` = '$tomorrow' GROUP BY `dateex`");  
  6.          $result = mysql_num_rows($res);
  7.   echo $result.'<br>';
  8.   echo date("Y-m-d", $tomorrow).'<br>';
  9.    $tomorrow = mktime(0, 0, 0, date("m"), date("d")+$i, date("Y"));
  10.    $i++;  
  11. }


Вот результат:

0
2013-06-24
0
2013-06-25
0
2013-06-26
0
2013-06-27
0
2013-06-28
0
2013-06-29
0
2013-06-30
0
2013-07-01
0
2013-07-02
0
2013-07-03

А мне нужно чтоб при каждом проходе по цыклу подставлялась в запрос новая дата.

Далее я буду проверять есть ли по этой дате событие если есть то цыкл останавливается.
(Добавление)
Все сам решил.
Проблема была в том что я неправильно подавал дату в запрос.

PHP:
скопировать код в буфер обмена
  1.  
  2.     $tomorrow = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
  3.       $i = 1;
  4.      
  5.     while ($i <= 10) {
  6. $data_new = date("Y-m-d", $tomorrow);
  7.              $res = $modx->db->query("SELECT COUNT(*) FROM `table_excurs` WHERE `dateex` = '$data_new' GROUP BY `dateex`");  
  8.              $result = mysql_num_rows($res);
  9.       echo $result.'<br>';
  10.       echo date("Y-m-d", $tomorrow).'<br>';
  11.        $tomorrow = mktime(0, 0, 0, date("m"), date("d")+$i, date("Y"));
  12.        $i++;  
  13.     }
  14.  


Вот так работает правильно

(Отредактировано автором: 24 Июня, 2013 - 20:42:27)

 
 Top
Master_pascal
Отправлено: 24 Июня, 2013 - 23:27:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 147
Дата рег-ции: Дек. 2012  


Помог: 0 раз(а)

[+][+][+][+][+]


новая же
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB