Ajax Mysql запрос
Добавлено: 30 сен 2020, 09:00
Добрый день! Есть задача , в учебном центре при составлении расписания занятий должна проводиться проверка занят ли указанный специалист в указанном промежутке времени , т.е на форме есть дата время начала занятия , радио кнопки с выбором продолжительности занятия, так же есть на форме поле , которое динамически формирует время окончания занаятия. Есть запрос
$spec = [590];
$date = [586];
$value = "!!! В указанное время специалист занят !!!";
$value1 = "Специалист свободен";
if($spec > 0) {
$spec_query = db_query("select * from app_entity_54 where FROM_UNIXTIME(field_597,'%Y-%m-%d %H:%i')=FROM_UNIXTIME([586],'%Y-%m-%d %H:%i') AND FROM_UNIXTIME(field_697,'%Y-%m-%d %H:%i')=FROM_UNIXTIME([684],'%Y-%m-%d %H:%i') AND field_590 = [590]",false);
if($spec = db_fetch_array($spec_query)){
echo '<b style="color:red">' . $value . '</b>';
}else{
echo '<b style="color:green">' . $value1 . '</b>';
}
}
в запросе происходит сравнение даты начала и окончания начала занятий полей на форме и в базе и так же фио введенного преподавателя в поле формы и базы. Но если например занятие начинается в 11.30 и заказнчивается в 12.00 и специалист уже занят в указанное время, то ответ получаю занят как и должно быть, если ставлю время начала 11.35 , то получаю что специалист свободен, хотя нужно чтобы было занят, так как он занят с 11.30 до 12.00 Я понимаю, что не правильно построен запрос, что он сравнивает дату начала и окончания а не промежуток, здесь наверно правильно было поставить between чтобы выбирать данные за промежуток времени, но не знаю как правильно его сформировать. Документацию так же смотрел, пример для аякс запроса ,но непонял как сделать. Поэтому знающих прошу помочь правильно составить запрос
$spec = [590];
$date = [586];
$value = "!!! В указанное время специалист занят !!!";
$value1 = "Специалист свободен";
if($spec > 0) {
$spec_query = db_query("select * from app_entity_54 where FROM_UNIXTIME(field_597,'%Y-%m-%d %H:%i')=FROM_UNIXTIME([586],'%Y-%m-%d %H:%i') AND FROM_UNIXTIME(field_697,'%Y-%m-%d %H:%i')=FROM_UNIXTIME([684],'%Y-%m-%d %H:%i') AND field_590 = [590]",false);
if($spec = db_fetch_array($spec_query)){
echo '<b style="color:red">' . $value . '</b>';
}else{
echo '<b style="color:green">' . $value1 . '</b>';
}
}
в запросе происходит сравнение даты начала и окончания начала занятий полей на форме и в базе и так же фио введенного преподавателя в поле формы и базы. Но если например занятие начинается в 11.30 и заказнчивается в 12.00 и специалист уже занят в указанное время, то ответ получаю занят как и должно быть, если ставлю время начала 11.35 , то получаю что специалист свободен, хотя нужно чтобы было занят, так как он занят с 11.30 до 12.00 Я понимаю, что не правильно построен запрос, что он сравнивает дату начала и окончания а не промежуток, здесь наверно правильно было поставить between чтобы выбирать данные за промежуток времени, но не знаю как правильно его сформировать. Документацию так же смотрел, пример для аякс запроса ,но непонял как сделать. Поэтому знающих прошу помочь правильно составить запрос