Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как организовать напоминалку дня рождения? 
V
    Опции темы
kulikoff
Дата 16.10.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: нет
Всего: 1



Добрый день! Посоветуйте, как красиво и правильно сделать напоминание о дне рождения. В базе данных в поле стоит дата рождения человека. Мне необходимо сделать так, чтоб начиная с 10 дней и меньше было сообщение, что необходимо поздравить ам такого-то. Как выбрать из базы данных правильно этот диапазон дат, не обращая внимания на года+правильный переход на следующий месяц?
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 16.10.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а как выглядит дата? какого типа поле?
PM MAIL WWW   Вверх
nerezus
Дата 16.10.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



kulikoff, используй функции работы с датами в твоей СУБД.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
kulikoff
Дата 16.10.2009, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: нет
Всего: 1



Поле типа date. Хранится дата там в формате YYYY-MM-DD
PM MAIL WWW ICQ Skype   Вверх
nerezus
Дата 16.10.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата(nerezus @  16.10.2009,  15:30 Найти цитируемый пост)
kulikoff, используй функции работы с датами в твоей СУБД.




--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
kulikoff
Дата 16.10.2009, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: нет
Всего: 1



чтоб знал какие... Пересмотрел - их, не нашел ничего в MySQL похожего
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 16.10.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Странно. Я точно помню, что в документации есть специальные примеры, работающие с днями рождения.
PM MAIL   Вверх
nerezus
Дата 16.10.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

чтоб знал какие... Пересмотрел - их, не нашел ничего в MySQL похожего
 потому что нет функции "NEAR_BIRTHDAYS_IN_10_DAYS()"
Сравни отформатированную дату из БД с нужным диапазоном.
DATE_FORMAT, DATE_ADD, CURDATE.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
capitan
Дата 16.10.2009, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Код

.....
WHERE DATE_FORMAT(data, '%Y%m%d') BETWEEN {$data_start} AND {$data_finish} 
.....

PM MAIL WWW ICQ   Вверх
kulikoff
Дата 20.10.2009, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: нет
Всего: 1



Это классная идея, но как быть с годами? Если дата рождения 15-04-1969? Как сделать так, чтоб это дата попадала только в границы 05-04-2010 и 15-04-2010???
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 20.10.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



имхо, для такой специфической задачи, можно было бы раздобреть на лишнее одно - два поля. вывести в них отдельно месяц и число. вопросы резко снимутся
PM MAIL WWW   Вверх
Ипатьев
Дата 20.10.2009, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



mysql прекрасно работает и с одним полем.
http://dev.mysql.com/doc/refman/5.0/en/dat...lculations.html
судя по всему, пользование гуглем - один из самых сложных навыков, недоступных большинству пхп программистов.



PM MAIL   Вверх
kulikoff
Дата 23.10.2009, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: нет
Всего: 1



Большое спасибо всем! Вопрос решен!
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0810 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.