Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacyjne łączenie tabeli
Forum PHP.pl > Forum > Bazy danych > MySQL
Giekuss
Witam,

Jestem początkujący w oparciu o bazy danych MySQL. Ale przechodząc do sedna sprawy, mam 2 tabele:
- Rezerwacje
- Sala
Administrator dodaje sale poprzez panel admina i w bazie danych pojawia się nazwa sali, chciałbym zatem, aby w tabeli rezerwacji w polu wyboru (radio/enum) pojawiła się ta sala wprowadzona przez Administratora idzie to w ten sposób połączyć? To musi łączyć się za pomocą relacji, ponieważ sale są edytowalne można zmieniać nazwe, usuwać, dodawać nową. Nie interesuje mnie pobieranie z jednej tabeli do drugiej to musi robić się cyklicznie

Jeśli nie to w jaki sposób mógłbym uzyskać dany efekt?
salfunglandyare
Mniej więcej wiem, co chcesz dalej zrobić smile.gif
Pola dla Sala:
- id - unikalne, typ unsigned int
- nazwa
- powierzchnia
- pozostałe pola

Pola dla Rezerwacja:
- id - unikalne
- sala_id - ten sam typ co w sala - unsigned int, indeks na to pole
- data_od
- data_do
- pozostałe pola, jeśli konieczne (status, itp)

teraz łączysz Sala i Rezerwacja relacją 1 : wiele z polem sala_id (klucz poboczny)
W tym momencie masz dostęp z rezerwacji do sali przez sala_id (tu będzie id sali)
oraz z sali do rezerwacji (wiele rezerwacji dla jednej sali o danym ID)

w sql - znasz ID sali i chcesz pobrać informacje o rezerwacjach:
  1. SELECT Rezerwacje.* FROM Rezerwacje INNER JOIN Sala ON (Sala.id = Rezerwacja.sala_id) WHERE Rezerwacje.sala_id = ID_SALI


Znasz ID rezerwacji, to wiesz, jaka to jest sala:
  1. SELECT Sal.* FROM Sala INNER JOIN Rezerwacja ON (Sala.id = Rezerwacja.sala_id) WHERE Rezerwacje.id = ID_REZERWACJI


Sala i Rezerwacja to nazwy tabel
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.