Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Sprawdzenie dostępności
Forum PHP.pl > Forum > Przedszkole
adi456
Witam

Mam problem i ze względu na to że jestem amatorem proszę o jakieś sugestie

chodzi o system rezerwacji samochodu

przypuśćmy że klient złożył zamówienie w terminie od 2011-03-06 do 2011-03-16

teraz następny klient będzie chciał wypożyczyć ten sam samochód w terminie od 2011-03-15 do 2011-03-20

i jak teraz sprawdzić że ten termin jest zajęty?

myślałem żeby wczytać z bazy daty od i do potem za pomocą pętli for wczytać do tablicy po kolei każdą pojedynczą datę która jest zajęta, jest to jakieś rozwiązanie ale dochodzi problem miesięcy, jak nie znajdę innego rozwiązania tak to zrobię ale podejrzewam że MySQL jest do tego przygotowany i można to zrobić w jakimś łatwym zapytaniu do bazy

myśle nad

  1. $sprawdz=mysql_num_rows(mysql_query("SELECT * FROM rezerwacje WHERE car='$car' and data_od BETWEEN '$data_od' AND '$data_zw' OR car='$car' and data_zw BETWEEN '$data_od' AND '$data_zw' "));
  2.  
  3. if ($sprawdz>0) // jesli warunek spełniony znaczy ze samochód zajęty

ale coś nie działa pewnie zła składnia?

bardzo proszę o porady
minolone
Najlepiej to dodaj sobie do bazy danych jeszcze jedno pole w której będziesz przetrzymywał wartość wypożyczenie samochodu (1- wypożyczony, 0- nie).
i tylko przez to pole będziesz sprawdzał, przecież nie wiesz czy klient odda ci samochód dnia 13.03 o godzinie 10 czy też 20, a inny będzie chciał ten samochód już o 14, a ty go mieć jeszcze nie będziesz chociaż klient który go posiada obiecywał że będzie na 13 ale nie dotarł. Powodów może być wiele korki, stłuczka, awaria. Na miejscu nowego klienta już bym się zdenerwował, co różnie mogłoby wpłynąć na opinie firmy itp. Więc lepiej żeby taki samochód sam się nie pojawiał gdy go jeszcze nie ma.
Jeżeli samochodów jest więcej to najlepiej jest go na czas wypożyczenia w ogóle zlikwidować ze strony, i samemu zmieniać wartość oddania samochodu w ustalonym przez klienta dniu oddania, a jeżeli nie samemu to dopiero następnego dnia przywrócić ten samochód na www.
adi456
myślę że to zły pomysł ponieważ jeżeli ustawie wypożyczony 1 to jeżeli ktoś za tydzień będzie chciał go wypożyczyć to też pokaże że jest niedostępny, godziny nie są bardzo ważne, jeżeli ktoś odda o godz 9 to samochód może być już do końca dnia niedostępny
minolone
dlatego napisałem że jeżeli odda samochód w tym dniu co wskazał przy zamówieniu samemu zmienić jego wartość na 0. Nikt o zdrowych zmysłach nie wstawi samochodu do bazy bez jego oglądnięcia czy jest nie uszkodzony, a tym bardziej gdy go jeszcze nie ma. A jeżeli ma być widoczny to sprawdzasz czy jest wypożyczony, jeżeli tak to do kiedy i umożliwiasz wypożyczenie od dnia następnego
adi456
he ale głupi byłem

BETWEEN nadaje się idealnie, moim błędem był zapisz do bazy rezerwacje bez poprzedniej walidacji, potem skrypt odczytywał rezerwacje która jest w trakcie składania i pokazywał cały czas że termin jest zajęty, teraz rozumiem że skrypt który napisałem jest zupełnie bezsensu ale już go nie będę poprawiać, w zapytaniu dałem tylko warunek NOT id = '$id_rezerwacja'
i śmiga elegancko.
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.