то есть, все равно придется, пробегая циклом по всем дням месяца, обращаться каждый раз к базе и смотреть есть ли события для определенной даты? Одним запросом нельзя ли это сделать? Дело в том, что события имеют начало и конец. Например, премьера фильма начинается 15.05.2014, а заканчивается показ 15.09.2014. Я формирую календарь на 6 месяц 2014 года. Тогда все дни должны будут быть подсвечены ссылкой (так как для каждого дня есть событие). Вот другой пример, есть выставка, которая длиться 2 дня - с 15.05.2014 по 16.05.2014, тогда будут подсвечиваться только 2 дня - 16 и 17.
думаю, я понятно изложил суть проблемы...
Кажется, нашел элегантное и простое решение проблемы:
SELECT id FROM events WHERE start_date <= 2014-05-31 AND end_date >= 2014-05-01;
где 2014-05-31 и 2014-05-01 - последняя и первая даты календаря выбранного месяца и года
Этим запросом выберутся все события, которые проходят через выбранный месяц