Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/MySQL] Prosty system wypożyczania samochodów
Forum PHP.pl > Forum > Gotowe rozwiązania
czarekfcb
Witam,
jestem w trakcie wykonywania projektu na zaliczenie, a mianowicie robię prosty internetowy system wypożyczania samochodów.

Jak do tej pory z podstawowych funkcjonalności można się zarejestrować, zalogować , odpowiednie działy dostępne tylko dla zarejestrowanego użytkownika/admina.

Nie wiem natomiast jak zrobić w miarę prosto system wypożyczania samochodów.
Powiedzmy że mam 10 różnych marek samochodów - każde po 5 dostępnych sztuk, czyli w sumie 50 samochodów.
Każdy samochód ma swoją cenę wynajmu za jeden dzień. Na stronie będzie formularz rezerwacji zawierający:
- miejsce wynajmu
- datę wynajmu
- miejsce zwrotu
- datę zwrotu
- samochód do wyboru

Dane kontaktowe użytkownik już wcześniej musiał podać przy rejestracji.

1. Jak skonstruować bazę danych ? Na razie mam tabelę użytkowników, którą trzeba będzie pewnie połączyć z tabelą samochodów i miejscem odbioru/zwrotu samochodu (dwa miejsca do wyboru). Jak te tabele połączyć by nazwę użytkownika lub jego ID przypisywało automatycznie gdy wypożyczy samochód?

2.Jak zrobić by po tym jak użytkownik wypożyczy samochód, odejmowało liczbę dostępnych samochodów (np. z 5 na 4) i po upływie czasu wypożyczenia dodawało samochód z powrotem ?

Może ma ktoś poratować linkiem do jakiegoś tutoriala mniej więcej z rozwiązaniami do podobnego problemu?
Będę bardzo wdzięczny za każdą pomoc smile.gif

Pozdrawiam!
NickOver
Zrób sobie tabelę z samochodami:
-id
-marka
-numer rejestracyjny
-dostępny (z default value na 1)
-cena za dobę
-inne dane jakie chcesz (rok produkcji, kolor itp)

Table z miejscami do wypożyczenia (może nawet niekoniecznie tabelę skoro są tylko 2 miejsca i jest to projekt na zaliczenie)

Tabelę z wypożyczeniami:
-id
-id użytkownika
-id samochodu
-id miejsca wypozyczenia
-data wypozyczenia
-data zwrotu
-koszt (niekoniecznie, można na bieżąco liczyć)

I teraz pokazując użytkownikowi jakie może wypożyczyć samochody:
SELECT * FROM cars WHERE nazwa komórki z dostępnością = 1

A przy rezerwacji:
-sprawdź czy auto jest na pewno dostępne do wypożyczenia (jeśli nie to zwróć błąd)
-wypełnij tabelę z wypożyczeniami danymi które podał user
-jeśli wszystko ok to update na tabeli samochodów zmieniając komórkę z dostępnością na 0

Co do zwrotu to albo cron:
-SELECT id samochodu WHERE data zwrotu = dzisiejsza data
Potem po wszystkich pobranych samochodach trzeba przelecieć i zmienić im komórkę z dostępnością na 1

lub co jest bardziej realistyczne manualna zmiana przez pracownika po oddaniu samochodu (przecież to że ktoś napisał że odda nie znaczy że zrobi to na pewno)

Według mnie coś takiego było by ok.
Jeśli masz jakieś pytania lub problemy to pisz smile.gif
btw z jakiego to przedmiotu i rodzaju szkoły?
czarekfcb
Mam takie problemy:
1. W tabeli samochody wszystkie samochody domyślnie są ustawione na boolean = 1. Jak zrobić że po rezerwacji konkretnego samochodu w przedziale konkretnych dat (typ DATE, RRRR-MM-DD) status boolean samochodu był równy 0 ?

2. W tabeli samochody mam kolumnę samochody_cena z ceną samochodu za 1 dzień + samochody_kaucja z ceną kaucji płaconej przez użytkownika przy wypożyczeniu samochodu. Jak dodać do formularza takie pole żeby po wybraniu przedziału dat w których samochód będzie wypożyczony + model samochodu na dole wyświetlało sie ile będzie do zapłaty?

z góry dzięki smile.gif
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.