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 :: запрос с условиями

 PHP.SU

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


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

> Описание: подскажите как правильнее
broshurkaplus
Отправлено: 27 Января, 2015 - 07:17:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 354
Дата рег-ции: Янв. 2011  
Откуда: Пружаны Бресткая обл. Беларусь


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




здравствуйте
посмотрите пожалуйста мой запрос, что то не правильно работает в:'$tip'>`firma_account_tip`
в бд firma_account_tip - числовое зн-е бд
$tip -числовое передаваемое зн-е
firma_date_do - в формате 0000-00-00 00:00:00 значение бд
$date - 0000-00-00 00:00:00 передаваемое зн-е

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. $q_update="UPDATE `firma` SET `firma_account_tip`='$tip', `firma_date_do`=
  3.    /*тут мой комент:
  4.      если текущий firma_date_do=0000-00-00 00:00:00
  5.      те это первое изменение firma_date_do*/
  6.    IF(`firma_date_do`='0000-00-00 00:00:00',
  7.        /*то это отрабатывает обновляем по $date+$srok*/
  8.        DATE_ADD('$date' ,INTERVAL '$srok' MONTH),
  9.        /*если нет то то проверяем
  10.         если переданный $tip больше firma_account_tip
  11.         ('$tip'>`firma_account_tip` - НЕ СРАВНИВАЕТ), всегда считает что меньше*/
  12.        IF('$tip'>`firma_account_tip`,
  13.            /*то  обновляем
  14.            тут надо чтобы firma_date_do сменило свое зн-е на передаваемое $date+$srok
  15.            а у меня всегда считает что не больше*/
  16.            DATE_ADD('$date' ,INTERVAL '$srok' MONTH),
  17.             /*если текущий firma_date_do в бд больше чем NOW() */
  18.             IF(`firma_date_do`>NOW(),  
  19.               /*то это отрабатывает обновляем по firma_date_do(по бд)+$srok*/
  20.                DATE_ADD(`firma_date_do` ,INTERVAL '$srok' MONTH),
  21.                /*если меньше - это отрабатывает обновляем $date+$srok*/
  22.               DATE_ADD('$date' ,INTERVAL '$srok' MONTH)
  23.            )
  24.        )
  25.   )
  26. WHERE `firma_id`='$postrfirma'";


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

тк ответов нет - вопрос закрыт
сделал формирование запросов в зависимости от переданных данных
спасибо

(Отредактировано автором: 27 Января, 2015 - 10:25:28)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB