У меня есть сценарий, когда пользователь отправляет дату начала и окончания для бронирования в отеле.База данных имеет разные (ежедневные) цены на периоды года.Учитывая диапазон дат пользователя, я хочу начать с подсчета количества дней, которое диапазон пользователя имеет в каждом диапазоне из базы данных, а затем умножить его на дневную цену для этого диапазона дат.
03 Jun 2012 - 03 Jul 2012
Соответствующие диапазоны дат из DB
Array
(
[0] => stdClass Object
(
[date_from] => 2012-04-09
[date_to] => 2012-06-04
[price] => 44
)
[1] => stdClass Object
(
[date_from] => 2012-06-04
[date_to] => 2012-07-02
[price] => 52
)
[2] => stdClass Object
(
[date_from] => 2012-07-02
[date_to] => 2012-07-16
[price] => 61
)
)
Как вы можете видеть, резервирование начинается в первом диапазоне, охватывает второй диапазон и заканчивается в третьем диапазоне.
Этот код почти работает, за исключением того факта, что он принимает конец резервирования ($stop
) как последнюю дату диапазона БД вместо диапазона пользователя, и я не могу понять, почему!