Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql/php] Pozornie prosta baza danych
Forum PHP.pl > Forum > Przedszkole
papik
Wymyśliłem sobie coś takiego ...
Chciałbym zrobić pewną prostą bazę danych.

Strukturę podam na nieabstrakcyjnym przykładzie: snitch.gif
Mam pewną listę filmów i w każdym z tych filmów gra kilku aktorów, więc mamy także równoległą listę aktorów.
W momencie wysłanie zapytania o film, chciałbym aby zwróciło mi listę aktorów grających w tym filmie, a w przypadku zapytania o aktora, listę filmów w których grał ten aktor.

Więc wymyśliłem, iż w bazie danych w jednej tablicy np. filmy będę miał listę filmów, a w drugiej tablicy np. aktorzy będę miał listę aktorów.
One wzajemnie się do siebie odwołują, tylko mam problem jak powiązać obie te tablice, tak żebym otrzymywał zamierzony rezultat.

Pasowało by mi w tym miejscu coś na kształt tablicy z trzecim wymiarem, tylko nie wiem czy w mysql coś takiego jest w ogóle możliwe.

Prosiłbym o jakieś generalne wskazówki, jak podejść do problemu i ewentualnie wyjaśnienie czy istnieją w php i mysql mechanizmy ułatwiające zrobienie czegoś takiego.
dr_NO
jezeli o wyswietlanie filmow gdzie gra dany aktor to np tak:
SELECT * FROM `filmy` WHERE `aktor` == $_GET['aktor']
Jeżeli zaś o pierwsze pytanie:
SELECT aktor FROM `filmy`
Ziels
Sam sobie odpowiedziałeś - dwie tablice...
  1. SELECT * FROM aktorzy WHERE gral_w_filmie LIKE '%".$film."%'

  1. SELECT * FROM filmy WHERE obsada LIKE '%".$aktor."%'
papik
Ok, a jak w jednym rekordzie np. w tablicy filmy, umieścić kilku aktorów?
W osobnych polach?
Czy jest możliwość stworzenia w rekordzie jakby wewnętrznej tablicy z listą grających aktorów?
Ziels
Tak:

1 aktor, 2 aktor, 3 aktor

itd.

explode" title="Zobacz w manualu php" target="_manual
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.