Условная дата, совпадающая
Я пытаюсь реализовать перекрывающееся время для преподавательской и учебной деятельности. Я создал таблицу с именем order_learn, содержимое которой таково
id (int, auto increment), id_user (varchar), material_id (varchar), start_periode (date), end_periode (date), generation (varchar), totalday (varchar), remarks (text).
студент может взять любой предмет, часы обучения которого определяются start_period (дата) и end_periode (дата), generation (varchar).
которые учащимся не разрешается сдавать по предметам, совпадающим с другими уроками (перекрываются по датам урока).
id id_user material_id start_periode end_periode generation totalday 1 2 1 03/01/2017 03/13/2017 I 10 ....etc
из приведенных выше данных видно, что id_user принимает 2 предмета с одинаковым временем, что не должно быть разрешено системой позже, если только расписание урока не находится во втором поколении со временем реализации выше 13.03.2017.
Вопросы:
1. Как я могу сделать условие, если студент хочет взять 3 предмета, время которых, безусловно, не перекрывается на основе заранее определенного графика (условия)?
2. должно ли это перекрытие быть сделано на Javascript-части события on load или перед добавлением записи?
3. Как написать сценарий?
Итак, мой вопрос: за вашу помощь я благодарю вас.
Что я уже пробовал:
$strSQLExists="select * from belanja_mapel where id_peserta='".$values['id_peserta']."' and id_mapel='".$values['id_mapel']."' and angkatan='".$values['angkatan']."' and ((periode_awal > @periode_awal and periode_akhir > @periode_awal) OR (periode_awal < @periode_akhir AND periode_akhir >= @periode_akhir))"; $rsExists = db_query($strSQLExists,$conn); $data=db_fetch_array($rsExists); if($data) { $message = "Overlap"; return false; } else { $message = "Execute"; return true; }