| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Как организовать напоминалку дня рождения? |
| Автор: kulikoff 16.10.2009, 11:57 |
| Добрый день! Посоветуйте, как красиво и правильно сделать напоминание о дне рождения. В базе данных в поле стоит дата рождения человека. Мне необходимо сделать так, чтоб начиная с 10 дней и меньше было сообщение, что необходимо поздравить ам такого-то. Как выбрать из базы данных правильно этот диапазон дат, не обращая внимания на года+правильный переход на следующий месяц? |
| Автор: bars80080 16.10.2009, 13:03 |
| а как выглядит дата? какого типа поле? |
| Автор: nerezus 16.10.2009, 14:30 |
| kulikoff, используй функции работы с датами в твоей СУБД. |
| Автор: kulikoff 16.10.2009, 14:31 |
| Поле типа date. Хранится дата там в формате YYYY-MM-DD |
| Автор: nerezus 16.10.2009, 17:15 |
| Автор: kulikoff 16.10.2009, 20:10 |
| чтоб знал какие... Пересмотрел - их, не нашел ничего в MySQL похожего |
| Автор: Ипатьев 16.10.2009, 20:36 |
| Странно. Я точно помню, что в документации есть специальные примеры, работающие с днями рождения. |
| Автор: nerezus 16.10.2009, 22:18 | ||
Сравни отформатированную дату из БД с нужным диапазоном. DATE_FORMAT, DATE_ADD, CURDATE. |
| Автор: capitan 16.10.2009, 22:47 | ||
|
| Автор: kulikoff 20.10.2009, 18:27 |
| Это классная идея, но как быть с годами? Если дата рождения 15-04-1969? Как сделать так, чтоб это дата попадала только в границы 05-04-2010 и 15-04-2010??? |
| Автор: bars80080 20.10.2009, 19:09 |
| имхо, для такой специфической задачи, можно было бы раздобреть на лишнее одно - два поля. вывести в них отдельно месяц и число. вопросы резко снимутся |
| Автор: Ипатьев 20.10.2009, 19:21 |
| mysql прекрасно работает и с одним полем. http://dev.mysql.com/doc/refman/5.0/en/date-calculations.html судя по всему, пользование гуглем - один из самых сложных навыков, недоступных большинству пхп программистов. |
| Автор: kulikoff 23.10.2009, 22:02 |
| Большое спасибо всем! Вопрос решен! |