Подскажите как сделать вот есть в базе столбцы и в них есть запись даты: 2012-11-14 16:07:45 Нужно сделать запрос такой к базе если дата не равна сегодняшней и она +- 15 дней от сегодняшней даты тогда идет запрос как сделать такой запрос? Добавлено спустя 8 минут 9 секунд: Вот нашел немного: Примеры запросов с BETWEEN и без него: # Поле created_at - тип DATETIME # КОРРЕКТНЫЕ ЗАПРОСЫ # 1: Индексы для created_at поля не используются. # Условие BETWEEN '2008-08-14' AND '2008-08-23' # преобразуется в BETWEEN '2008-08-14 00:00:00' AND '2008-08-23 00:00:00'. SELECT * FROM news WHERE DATE(created_at) BETWEEN '2008-08-14' AND '2008-08-23'; # 2: Оператор BETWEEN не используем, но тоже не самый лучший вариант, индексы не используются SELECT * FROM news WHERE DATE(created_at) >= '2008-08-14' AND DATE(created_at) <= '2008-08-23'; # 3: Строки '2008-08-14 00:00:00' и '2008-08-23 23:59:59' не приведены к типу данных DATE SELECT * FROM news WHERE created_at BETWEEN '2008-08-14 00:00:00' AND '2008-08-23 23:59:59'; # 4: Самый лучший вариант, привели к типу DATETIME, индексы будут использоваться SELECT * FROM news WHERE created_at BETWEEN STR_TO_DATE('2008-08-14 00:00:00', '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('2008-08-23 23:59:59', '%Y-%m-%d %H:%i:%s'); ############################# # НЕПРАВИЛЬНЫЕ ЗАПРОСЫ # 5: Строки '2008-08-14' и '2008-08-23' преобразуются в TIMESTAMP и дополняются '00:00:00' SELECT * FROM news WHERE created_at >= '2008-08-14' AND created_at <= '2008-08-23'; # 6: Аналогично запросу 5 SELECT * FROM news WHERE created_at BETWEEN STR_TO_DATE('2008-08-14', '%Y-%m-%d') AND STR_TO_DATE('2008-08-23', '%Y-%m-%d'); Получаем самый лучший запрос: SELECT * FROM news WHERE created_at BETWEEN STR_TO_DATE('2008-08-14 00:00:00', '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('2008-08-23 23:59:59', '%Y-%m-%d %H:%i:%s'); а как взять дату сегодняшнею и загнать её в $ разницу от сегодняшнего +- 15 дней как эту дату создать? =/ Добавлено спустя 33 минуты: Что-то по подобию этого Код (PHP): SELECT * FROM `table` WHERE `date` BETWEEN 15 DAYS DATE(NOW() AND AFTER 15 DAYS DATE(NOW() Или как? =) Добавлено спустя 2 минуты 11 секунд: date у меня timestamp по умолчанию - CURRENT_TIMESTAMP
ты в том смысле, чтоб я кнопку такую на сайт прикрутил? или чтоб юзер мог пометить какие то задачи и они у него висели где-то отдельно на сайте?