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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите придумать алгоритм работы скрипта 
:(
    Опции темы
xShinigami
Дата 31.8.2011, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть база данных с различными полями. Среди них есть дни рождения и записаны они как поле TEXT. Мне нужно чтоб за 5 дней до дня рождения выводило сообщение, и менялось только за 5 дней до следующего дня рождения(другого пользователя).
Пример:
Через 5 дней у меня день рождения, выводиться мой аватар и имя. Через месяц день рождения у пользователя №2 и за 5 дней до его рождения аватар и имя меняется на его имя. и так до дня рождения следующего пользователя.
PM MAIL   Вверх
Gold Dragon
Дата 31.8.2011, 15:43 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



отвлечённый вопрос... а хранить дату рождения в TEXT - это принципиально?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
kovaldm
Дата 1.9.2011, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Алгоритм тут не нужен.
Можно обойтись одним запросом, который будет вытаскивать максимальное значение даты рождения из удовлетворяющих условию
Код

'дата рождения' - 'текущая дата' <= 432000

Дата рождения и текущая дата должны храниться в виде timestamp без учета года, то есть только день и месяц. Сделай для этого отдельный столбец в таблице. 
И да, храни даты в предназначенном для этого формате - дешевле обойдется с точки зрения ресурсов. smile 

Это сообщение отредактировал(а) kovaldm - 1.9.2011, 20:09
PM MAIL ICQ Skype   Вверх
enoff
Дата 1.9.2011, 22:21 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(kovaldm @  1.9.2011,  20:06 Найти цитируемый пост)

Дата рождения и текущая дата должны храниться в виде timestamp без учета года, то есть только день и месяц.

зачем? +- INTERVAL, сравнение и так прекрасно работают с полями DATE / DATETIME.
PM MAIL ICQ Skype GTalk   Вверх
kovaldm
Дата 1.9.2011, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(enoff @  1.9.2011,  22:21 Найти цитируемый пост)
+- INTERVAL

У меня пока не такие глубокие познания.)
PM MAIL ICQ Skype   Вверх
Gold Dragon
Дата 2.9.2011, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



Не надо вообще вымудряться и нужно сделать поле DATE. Это именное тот тип для даты рождения... А для вычисления MySQL обладает кучей функций для работы с датой.

И тем более не пользоваться timestamp. Это явно не тот тип для дней рождений. Про ограничения слышали? smile не младше 1970 года и не старше 2037


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0760 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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