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
Форумы портала PHP.SU :: Версия для печати :: Добавить метку "новая запись"
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Добавить метку "новая запись"

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

1. isle - 01 Апреля, 2014 - 05:38:00 - перейти к сообщению
Привет.

Пролистал кучу примеров, вроде запрос правильный, но не работает, почему-то... Хотелось бы не в PHP метку проверять, а уже готовый массив получить с меткой "новый" пункт при выводе.

Запрос:

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT t1.date, IF (DATE(t1.date - INTERVAL 30 DAY), TRUE, FALSE) AS new FROM #__meal AS t1


Другие запросы без дат у меня нормально работают в таком виде, а проверить по дате не получается Недовольство, огорчение Суть такая: если запись сделана менее 1 месяца назад, то она "новая", если таких записей нет, то все они помечаются как "старые", т.е. new = FALSE.

Варианты условия "DATE(t1.date - INTERVAL 30 DAY)" с CURRDATE() или NOW() тоже не работают, ёлки. Подскажите, пожалуйста, как правильно запрос написать?

П.С.
Варианты типа:

CODE (SQL):
скопировать код в буфер обмена
  1. IF (TO_DAYS(NOW()) - TO_DAYS(t1.date) < 30, TRUE, FALSE) AS new


также не работают Недовольство, огорчение

П.П.С.
Всё! Ура ))) Извиняюсь, сам разобрался. Осенило, поставил дату в формат "0000-00-00 00:00:00" и заработало! Топик можно удалить.

 

Powered by ExBB FM 1.0 RC1