Mailinglisten-Archive |
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