У меня есть интервал, созданный из 2 дат.
с 28.06.2020 по 05.07.2020
если в этом интервале есть дата, которая добавляется в базу данных, он предупреждает меня, что в этом интервале есть дата, которая добавляется в базу данных.
база данных дат создается с помощью fullcalendar.
Я не могу заставить его уведомить меня также, если между выбранные даты с 28.06.2020 по 05.07.2020, есть не только одна дата, но и интервал, например с 31.06.2020 по 07.03.2020
Или также в случае выбранная дата: 28.06.2020 по 05.07.2020, но в базе есть интервал с 26.06.20202 по 29.06.2020.
Возможно ли это сделать?
для одной даты без интервалов и использовал это:
$paymentDate=date('Y-m-d', strtotime("03/07/2020"));
$contractDateBegin = date('Y-m-d', strtotime("28/06/2020"));
$contractDateEnd = date('Y-m-d', strtotime("07/07/2020"));
if (($paymentDate >= $contractDateBegin) && ($paymentDate <= $contractDateEnd)){
echo "is between";
}else{
echo "NO GO!";
}
bd fullcalendar.
--
-- Table structure for table `events_laboral`
--
CREATE TABLE `events_laboral` (
`id` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`color` varchar(7) DEFAULT NULL,
`start` datetime NOT NULL,
`end` datetime DEFAULT NULL,
`empresa` text NOT NULL,
`usuario` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `events_laboral`
--
интервал даты bd.
--
-- Table structure for table `vacanciones`
--
CREATE TABLE `vacanciones` (
`id` int(255) NOT NULL,
`empresa` text NOT NULL,
`usuario` text NOT NULL,
`fecha_inicio` text NOT NULL,
`fecha_final` text NOT NULL,
`fecha_peticion` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`fecha_cambio` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` text NOT NULL,
`mesaje` longtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `vacanciones`
--
edit: я думал о php поиске между двумя выбранными датами, если есть дата начала или окончания любого события. И если он дает положительную дату начала, она рассчитывается между началом и концом выбранной даты интервала, сообщая пользователю, что выбранное количество дней уже есть в базе данных.