[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: дата следует по порядку или нет?
banderas
Здравствуйте!

Не получается решить следующую задачу! Из БД извлекаются несколько строк с календарными периодами. Например:

1 строка) с 01.04.2012 по 10.04.2012
2 строка) с 11.04.2012 по 20.04.2012
3 строка) с 25.04.2012 по 30.04.2012

Нужно посчитать количество дней между конечной датой 1 строки и начальной датой 2 строки, конечной датой 2 строки и начальной датой 3 строки. И если не в одном промежутке дат кол-во дней не превышает 1-го, тогда сделать то-то.

Я не могу понять, каким способом это можно реализовать. И с помощью чего это было бы реализовать проще mysql или php?



Спустя 23 минуты, 22 секунды (4.04.2012 - 10:22) Invis1ble написал(а):
если версия php >= 5.3 - копай в сторону DateInterval, если меньше - strtotime()

Спустя 1 час, 10 минут, 30 секунд (4.04.2012 - 11:33) banderas написал(а):
А как реализовать код до использования этих функций? Т.е. получается периоды нужно загнать в массив и в массиве использовать уже расчёт(предложенные функции)?

Спустя 11 минут, 56 секунд (4.04.2012 - 11:45) Invis1ble написал(а):
зависит от остального кода, сложно сказать как в твоем случае это лучше сделать

Спустя 16 минут, 17 секунд (4.04.2012 - 12:01) banderas написал(а):
В моём случае из бд извлекается этот список периодов, присваивается например $myrow и дальше его нужно как то обработать. Вот он принцип, от которого зависит остальной код!

Спустя 12 минут, 46 секунд (4.04.2012 - 12:14) banderas написал(а):
Поясню задачу, для более объёмного восприятия!
Администратор сайта создаёт категорию номера гостиницы, в которой устанавливает квоту для разрешения бронирования.Квот может быть несколько! Например:
категория номера: Люкс
квота1 с 10-04-2012 по 15-04-2012 (т.е. бронь разрешается в этом периоде)
квота2 с 16-04-2012 по 20-04-2012 (т.е. бронь разрешается в этом периоде)
квота3 с 25-04-2012 по 30-04-2012 (т.е. бронь разрешается в этом периоде)
Собственно между этими квотами может существовать разрыв дат(например: между квота2 и квота3), который говорит нам что бронирование запрещено в этом разрыве дат.
Я описал это в надежде на то, что возможно найдется другой способ решения этой задачи!
Спасибо заранее!

Спустя 16 минут, 6 секунд (4.04.2012 - 12:30) banderas написал(а):
Собственно для бронирования, посетитель выбирает дату заезда и отъезда. Если между этими датами попадает разрыв между периодами, которые находятся в БД, то категорию номера не отображать!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.