phpbar.de logo

Mailinglisten-Archive

Filmdatenbank

Filmdatenbank

Wojna mysql-de_(at)_lists.bttr.org
Sat, 16 Mar 2002 22:56:42 +0100


Hallo zusammen,

ich möchte mit MySQL und Php eine Filmdatenbank erstellen.
Dabei gibt es für jeden Film einen Eintrag in der Tabelle 'Film'
und alle Schauspieler sind in einer Tabelle 'Schauspieler'
gespeichert.
In einer Hilfstabelle wird für jeden Schauspieler in jedem Film
ein Datensatz angelegt, in dem seine ID und die des Filmes
abgespeichert wird.

Tabelle Film
ID bigint(21) NOT NULL auto_increment,
Name varchar(255) NOT NULL default ''

Tabelle Schauspieler
ID bigint(21) NOT NULL auto_increment,
Name varchar(255) NOT NULL default '',
Vorname varchar(255) NOT NULL default '',
Geschlecht enum('m','w') NOT NULL default 'm'

Hilfstabelle
FilmID bigint(21),
SchauspielerID bigint(21)

Wenn ich nun alle Schauspieler zu einem Film auslesen will,
gehe ich in PHP wie folgt vor:

$Zeiger = mysql_query("SELECT SchauspielerID
FROM Hilfstabelle
WHERE FilmID=$filmID");

// Die IDs aller Schauspieler zum passenden Film ($filmID)
// werden komma-separiert in einen String eingelesen
$gruppe = "";
while (list($id) = mysql_fetch_row($Zeiger)) {
   $gruppe .= $id.",";
}
$gruppe = substr($gruppe,0,-1);

// Alle Schauspieler zum Film aus Schauspieler-Tabelle auslesen
$Zeiger = mysql_query("SELECT Name
FROM Schauspieler
WHERE ID IN ($gruppe)");

// Ausgeben
while (list($name) = mysql_fetch_row($Zeiger)) {
   echo "$name<br>";
}

Gibt es mit MySQL einen effektiveren Weg, um an die
Liste der Schauspieler zu einem Film zu kommen?

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive