Задача по календарю

Benderlio

Новичок
Задача по календарю

есть календарь событий (отображены числа в месяце, месяц и год),
человек вводит дату начала события и дату окончания..
необходимо что бы длительность события тоже отображалась на календаре
так например если человек ввел
начало 12,12,2006 и окончание 20,12,2006
то подсвечен интервал с 12 по 20 число

как бы порациональнее это сделать ?
 

Кром

Новичок
Проверяешь в цикле на соответствие твоему условию и подсвечиваешь необходимые дни. Решение настолько элементарно, что непонятно, где возникла проблема.
 

Benderlio

Новичок
если события в течение месяца 1-31 число например то все просто а если с 29 по 5-е следующего месяца ?

у меня сейчас из базы выбираються число начала событий за указаный месяц а как быть если событие переходит с месяца на месяц ?
это по всей базе нужно как то смотреть где чего пересекаеться ?
 

amorfis

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

Кром

Новичок
Benderlio
Тебе не нужно смотреть ни на какие пересечения. Тебе нужно взять две даты. Начальную и конечную. Эти даты привести к одному виду, например через strtotime, после чего бежать по календарю и каждую дату в нем форматировать через strtotime и сравнивать с начальной и конечной.
 

Benderlio

Новичок
алгорит понятен а вот с реализацией .. прийдеться попыхтеть
спасибо попробую :)
 
Сверху