[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с запросом MySQL
sodroot
Здравствуйте.
Такая проблема: Нужно сделать емайл отправку уведомления за два дня до удаления объявления. *
* - Дата удаления выбирается пользователем при добавлении объявления

adstable:
add_date (datetime) - Дата добавления (2012-08-03 10:22:32)
exp_date (datetime) - Дата удаления (2012-08-03 10:22:32)
email - Емайл

Помогите пожалуйста реализовать запрос в базу который будет выбирать емайлы только тех объявлений у которых остаётся 2 дня до удаления, чтобы им отсылать уведомления.
Заранее благодарен.



Спустя 14 минут, 6 секунд (15.06.2012 - 20:52) rooor написал(а):
mysql_query("SELECT `email` FROM `...` WHERE DATE_FORMAT(`exp_date`, '%d.%m.%Y') = '".date('d.m.Y', strtotime('+2 day'))."'");

мож так? лень проверять... пиво пью...

Спустя 3 часа, 4 минуты, 40 секунд (15.06.2012 - 23:57) sodroot написал(а):
rooor
Спасибо огромное выручил! Всё работает правильно! smile.gif

Спустя 6 дней, 13 часов, 41 минута, 42 секунды (22.06.2012 - 13:39) sodroot написал(а):
Вот ещё проблемка: Нужно реальзовать вывод 3-ех близких по дате новостей.
Формат даты в базе: date
Как реализовать запрос в базу который будет выбирать близкие по дате новости? smile.gif
Заранее благодарен.

Спустя 1 час, 3 минуты, 6 секунд (22.06.2012 - 14:42) Kuliev написал(а):
Цитата (sodroot @ 22.06.2012 - 14:39)
Вот ещё проблемка: Нужно реальзовать вывод 3-ех близких по дате новостей.
Формат даты в базе: date
Как реализовать запрос в базу который будет выбирать близкие по дате новости? smile.gif
Заранее благодарен.

Делай сортировку по дате
ORDER BY `date` DESC LIMIT 3 или ASC в зависимости что Вам надо.

Спустя 1 час, 28 минут, 58 секунд (22.06.2012 - 16:11) sodroot написал(а):
Kuliev
Я же написал близких по дате...
Тупо отсортировать по дате я умею...

Спустя 7 минут, 42 секунды (22.06.2012 - 16:18) sharki написал(а):
Это
date('d.m.Y', strtotime('+2 day'))


Можно заменить на SQL'ный закпрос
DATE_ADD(`exp_date`, INTERVAL 2 DAY)

Спустя 5 минут, 8 секунд (22.06.2012 - 16:24) sodroot написал(а):
Цитата (sharki @ 22.06.2012 - 13:18)
Это
date('d.m.Y', strtotime('+2 day'))


Можно заменить на SQL'ный закпрос
DATE_ADD(`exp_date`, INTERVAL 2 DAY)

Нельзя...
Рассылка должна происходить за два дня до удаления...
А с "DATE_ADD(`exp_date`, INTERVAL 2 DAY)" будет рассылать через 2 дня после удаления, то есть не будет рассылать так как объявлений уже таких не будт)))))

Спустя 15 минут, 59 секунд (22.06.2012 - 16:40) sharki написал(а):
А точнее указать там NOW() вместо exp_date

Спустя 8 минут, 9 секунд (22.06.2012 - 16:48) sodroot написал(а):
sharki
Я пробовал NOW() c DATE_ADD до того как создал эту тему, в моём случае этот вариант не подходит...

Спустя 6 часов, 8 минут, 59 секунд (22.06.2012 - 22:57) Kuliev написал(а):
Цитата (sodroot @ 22.06.2012 - 17:11)
Kuliev
Я же написал близких по дате...
Тупо отсортировать по дате я умею...

Что значит БЛИЗКИЕ ПО ДАТЕ???
Каков алгоритм?

Спустя 11 часов, 1 минута, 40 секунд (23.06.2012 - 09:58) ИНСИ написал(а):
mysql_query("
SELECT `email`
FROM `table`
WHERE `exp_date` <= NOW() + INTREVAL 2 DAY
ORDER BY `exp_date` ASC
LIMIT 3
"
);

Спустя 2 часа, 13 минут, 57 секунд (23.06.2012 - 12:12) Guest написал(а):
Цитата (ИНСИ @ 23.06.2012 - 06:58)
mysql_query("
SELECT `email`
FROM `table`
WHERE `exp_date` <= NOW() + INTREVAL 2 DAY
ORDER BY `exp_date` ASC
LIMIT 3
"
);

Спасибо. Я сам уже разобрался примерно так и сделал. smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.