Я управляю базой данных событий.Каждое событие имеет начальную и конечную отметки времени (INT, unix timestamp
).
В настоящее время я могу выполнить следующие действия с одним запросом SQL:
- создать календарь,и отмечать дни, когда событие
- отображает список происходящих событий на определенную дату (ГГГГ / ММ / ДД, ГГГГ / ММ)
Проблема заключается в том, что событие охватывает несколько дней.не могу перечислить его на дату между его начальной и конечной отметками времени.
Например:
Событие начинается 2011/05/25 и заканчивается 2011/05/27, я не могуперечислите его на странице 2011/05 / 26.
Мой фактический запрос SQL -
SELECT * FROM `event`
WHERE (`start` BETWEEN ? AND ?) OR (`end` BETWEEN ? AND ?)
ORDER BY start ASC
Два связанных параметра (временные метки Unix) автоматически рассчитываются в зависимости от типа заданного параметра (целый месяц или определенный день)
Возможно ли получить эти события (охватывающие несколько дней) в день между двумя конечными точками, расширяя мой запрос выше?
Пожалуйста, дайте мне знатьесли я могу уточнить мой вопрос.
Обновление
Пример:
event start: 1309125660 (2011-06-27 00:01:00)
end end: 1314050340 (2011-08-22 23:59:59)
select start: 1312408860 (2011-08-04 00:01:00)
select end: 1312495199 (2011-08-04 23:59:59)
Это событие не появится, когда я попытаюсь перечислить события, происходящие 2011/08/4