Piszę skrypt w php z wykorzystaniem MySQLa, używam PDO.
W bazie danych mam następujący układ
ID | Nazwa | od | do | grupa
----------------------------------------
1 Adam 2 5 A
2 Marcin 7 9 B
3 Tomek 13 20 B
I teraz formularz w PHP wygląda następująco:
[imie]
[od]
[do]
I teraz warunkiem wpisu do bazy danych jest to że od i do nie może być w przedziale i w grupie.
Tzn. można przyjąć że te od i do jest godziną.
Czyli jeżeli ktoś zarezerwował miejsce w grupie B od godziny 7 do 9 to teraz kolejna osoba nie może zarezerwować tego miejsca w tych godzinach.
Kombinowałem z BETWEEN ale niestety nic z tego, nie mam pojęcia jak to ugryźć.
Jedna z próbek kodu:
$stmt = $pdo->prepare("SELECT * FROM rezerwacja WHEREd <= `od` OR >= `do`");
$stmt->bindValue(":od", $od, PDO::PARAM_STR); $stmt->execute(); $results = $stmt->fetch(PDO::FETCH_ASSOC); if ($stmt->rowCount() !== 0) { return; }
Nie liczę na gotowe rozwiązanie, ale fanie byłoby gdyby ktoś mnie nakierował na odpowiednią ścieżkę.