Mam napisaną aplikację rezerwacji samochodów, chciałem zrobić walidację dni już zarezerwowanych tak aby nie można było dodać rezerwacji "zazębiającej się" z inną.
Wpadłem na pomysł aby zrobić to po stronie php w następujący sposób.
pobieram dane z formularza:
$s_id_auta = $_GET['id']; $s_od = $_POST['s_od']; $s_do = $_POST['s_do'];
i przekazuje je do zapytania:
$cccs = mysql_query("SELECT w.id_auta, DATE_FORMAT(w.do, '%Y-%m-%d %H:%i') AS do, a.id_auta, a.model FROM w_wypozyczenia as w INNER JOIN w_auta as a ON a.id_auta = w.id_auta WHERE ('$s_od' AND '$s_do' BETWEEN w.od AND w.do) OR (w.od AND w.do BETWEEN '$s_od' AND '$s_do') AND w.id_auta='$s_id_auta' "); while ($cccsrow = mysql_fetch_array($cccs, MYSQL_ASSOC)) {
w ten sposób sprawdzam czy wartości zmiennych z formularza są w wynikach z bazy danych
na razie mam zrobione tak, że jeśli data planowanej rezerwacji danego auta pokrywa się z tą zapisaną w bazie danych skrypt ma wylistować te wartości (zapytanie powyżej nie wiem czy do końca poprawne, ale narazie działa)
Myślałem, żeby zrobić warunek if "nie ma rekordów" w $cccsrow "zapisz do bazy" else "daj informację że dodanie niemożliwe"
Jak zrobić ten warunek żeby blokował dodawanie do bazy...
czy da się to bardziej zoptymalizować?