Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza danych pensjonatu. Sprawdzcie czy dobrze
Forum PHP.pl > Forum > Bazy danych > MySQL
ppietras86
witam
Zrobiłem dość prostą bazę danych dla pensjonatu.
Pensjonat posiada 6 pokoi: dwa 4-osobowe i cztery 2-osobowe pokoje. (nie wiem czy potrzeba tam ilosc lozek-w sumei to chyba nie potrzebne). Na stronce ma byc możliwość sprawdzenia dostępności pokoji w zadanym terminie. No i oczywiscie mozliwość zarezerwowania pokoju. Nie wiem czy dobrze zrobiłem tabele płatności

Popatrzcie proszę was ślicznie i wpiszcie swoje uwagi. Krytykujcie ile wlezie bo to mi sie przyda - rzecz jasna poczytam również z checią waszych propozycje i rozwiązania smile.gif



Gapollo
Uzasadnij wydzielenie osobnych tabel rezerwacje, platnosci, rezerwacje_dla_pokoi.
vokiel
Wydruk i zdjęcie wydruku blinksmiley.gif ? A PrtintScreen nie działa?

Rezerwacje dla pokoi niepotrzebne. Przerzuć to jedno pole (id pokoju) do rezerwacji.

Płatności przy tej funkcjonalności możesz połączyć z rezerwacjami (cena, stan). W końcu cena pokoju może być zależna od czegoś tam (dostawienie łóżka, internet, 3 razy dziennie sprzątanie, dodatkowe ręczniki, prezerwatywy w łazience, etc). Czyli może być ustalona indywidualnie dla danego zamówienia/rezerwacji.
ppietras86
Print screen działa tylko już mi sie gdzies ten schemat w kompie zapodział a miałem tylko wydruk i cyknąłem szybko zdjęcie. smile.gif)
Hmmm rezerwacja_dla_pokoi - nie wiem - tak nas uczono na wykładach - ze jesli by ktoś chciał rezerwować wiecej pokoi niż jeden. relacja jedna rezerwacja na wiele pokoi (ale też mi sie to dziwne wydawało - takie bez sensu).
Dziękuje wam bardzo za pomoc smile.gif pozmieniam baze i bedzie ok

Hmmm tak sie dzisiaj zastanawialem jak zrobic zapytanie SQL do tej bazy. Mianowicie - sprawdzić dostepność wszystkich pokoji w zadanym terminie np. od 26.02.2010 do 28.02.2010.
Ma ktoś jakiś pomysł - ja coś tam próbowałem ale zielony z tego jestem sad.gif(

Proszę o pomoc
phpion
Ja bym jeszcze zastanowił się nad typami pól. Czy na pewno potrzebujesz aż 50 znaków na kod pocztowy, NIP, PESEL...? Sprawdź wszystkie pola i dobierz optymalne wartości. Poza tym sprawdź możliwość wstawiania wartości NULL do pól (szczególnie ilosc_osob w tabeli rezerwacje) bo moim zdaniem w większości przypadków NULLe nie powinny być dozwolone.
ppietras86
hej
A jak zrobić zapytanie w MySQL aby wypisywalo mi z bazy dostepne pokoje w zadanym jakims terminie. np. chce sprawdzic czy jest i jesli tak to jakie pokoje sa dostepne w terminie od 01.02 do 02.02 na przykład - chce aby wypisywalo mi pokoj, numer pokoju, cene.
Bardzo prosze o pomoc. Rzecz jasna zapytanie odnosi sie do bazy w fotce.



edit-----------

Zrobiłem za pomocą jednego posta z tego forum i kilku artykułów na necie zapytanie

przypomina schemat bazy (troche zmieniona)

(pokoje)
- id_pokoju
- numer_pokoju
- ilosc_osob
-cena
-uwagi

(rezerwacje)
- id_rezerwacji
- id_klienta
- id_pokoju
- data_od
- data_do
- ilosc_osob
- kwota
- czy_zaplacone

Zapytanie jest następujące:
  1. SELECT numer_pokoju, cena,
  2. IF (
  3. mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 ) < '2010-02-11',
  4. mid( group_concat( data_do ORDER BY data_od DESC separator ' ' ) , 1, 10 ) ,
  5. mid( group_concat( data_do ORDER BY data_do DESC separator ' ' ) , 12, 10 )) AS wolna_data_od,
  6. IF (
  7. mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 ) < '2010-02-11', '~',
  8. mid( group_concat( data_od ORDER BY data_od DESC separator ' ' ) , 1, 10 )) AS wolna_data_do
  9. FROM pokoje LEFT JOIN rezerwacje USING ( id_pokoju )
  10. WHERE data_od < '2010-02-11' OR data_do >= '2010-02-11' OR data_do IS NULL
  11. GROUP BY numer_pokoju


Przeszukuje mi to baze danych i wypluwa w zadanym terminie pokoje - ALE wyświetla wszystkie pokoje - te zarezerwowane i te wolne wraz z datami.

Próbka tego co daje na wyjściu:(te pauzy zastępują spacje)
Cytat
numer_pokoju cena wolna_data_od wolna_data_do
1------------------25-----------------------~
2------------------25---NULL---------------NULL
3------------------25---2010-02-11-------2010-02-12
4------------------25---NULL---------------NULL
5------------------35-----------------------2010-02-11
6------------------35---NULL---------------NULL

Jak zmienic zapytanie aby wyświetlało mi tylko i wyłącznie numery pokoi wraz z cena WOLNYCH POKOI questionmark.gifquestionmark.gif(moze byc bez zakresu od kiedy o kiedy)

A może trzeba coś dodać jeszcze do bazy?? No i nie wiem czy dobrze grupuje na samym końcu zapytania

Prosze o pomoc bo stanąłem w jednym punkcie
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.