Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Вывод записей зависимо от текущей даты


Автор: Rusman 23.7.2009, 19:33
Привет всем!
Значит суть в следующем!
Есть таблица пользователей. Есть поле Date - Дата рождения (в текущем случае)
Мне нужно вывести на странице имена тех пользователей, у которых день рождения будет в ближайшие 7 дней.
Всем спасибо!

Автор: MoLeX 24.7.2009, 05:37
Код

SELECT * FROM `TABLE`WHERE `date` >= 'START_DATA' AND `date` <= 'END_DATA';


сорри, ступил  smile 

Автор: Staind 24.7.2009, 09:13
2MoLeX,
Почему ИЛИ, а не И?

Автор: MoLeX 24.7.2009, 09:25
нам же нужен промежуток

Автор: lelik133 24.7.2009, 09:41
да промежуток но `date` >= 'START_DATA' OR `date` <= 'END_DATA' выдаст сторки у которых date или больше START_DATE или меньше END_DATA, т.е. все даты. Все таки нужно and а не or 

Автор: Rusman 29.7.2009, 16:42
 А как именно правильно сравнить? Дата рождения же например: 01.01.1990 а если сравнивать с дато на ПХП то мы сранимаем с текущей датой и полчится же не то. Чтото сообразить не могу как сраванить именно независимо от года.

Автор: Ипатьев 29.7.2009, 16:46
В документации mysql есть пример. Где именно, сейчас не вспомню, но найти несложно.

Автор: Rusman 29.7.2009, 17:45
Всем спасибо! Разобрался! Если кому пригодится вот код:
Он выводит записи ДР которые будут в ближайщие 7 дней:
Код

date>=DATE_ADD(NOW(),INTERVAL -(YEAR(CURRENT_DATE)-YEAR(date)) YEAR) and date<=DATE_ADD(DATE_ADD(NOW(),INTERVAL -(YEAR(CURRENT_DATE)-YEAR(date)) YEAR), INTERVAL 7 DAY)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)