Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] porównanie zmiennych
Forum PHP.pl > Forum > Przedszkole
LifeGuard
Witam
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:
  1. $s_id_auta = $_GET['id'];
  2. $s_od = $_POST['s_od'];
  3. $s_do = $_POST['s_do'];


i przekazuje je do zapytania:
  1. $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' ");
  2. 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ć?
kingofspace
niewiem czy dokladnie oto Ci chodzi ale ja bym zoribl tak selectem pobierasz dane z bazy jak where wpisujesz odpowiednie wartosci/warunki potem sprawdzasz liczbe rekordów jezeli 0 to dodajesz jak 1 nie dodajesz
LifeGuard
ależ dokładnie taką koncepcję przedstawiłem winksmiley.jpg

tylko sprawa rozgrywa się o to jak uwarunkować liczbę rekordów czy jest 0 czy więcej?

$cccsrow == 0 ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.