2016-09-13 2 views
0

Ich habe eine Film-Datenbank, wo ich alle Daten über Filme gespeichert. Jetzt möchte ich alle Akteurliste holen, um etwas mehr zu machen. In meiner movie Tabelle haben Sie eine cast Zeile, wo alle Schauspieler/Schauspielerin Name durch Schrägstrich getrennt.So holen Sie jeden Namen einmal aus der ganzen Zeile, wo die Zeile mehrere Namen haben

Wie kann ich jeden Schauspieler/Schauspielerin Name einmal aus cast Zeile abrufen?

Mein Film Tisch wie zum Beispiel:

############################################################# 
    id || movie || cast       
############################################################# 
    1  || Titanic || Leonardo DiCaprio/Kate Winslet 
------------------------------------------------------------- 
    2  || The Beach || Leonardo DiCaprio/Daniel York 
------------------------------------------------------------- 
    3  || Quills || Geoffrey Rush/Kate Winslet 

So nun möchte ich einmal in jeder Schauspieler Namen wie als holen: Ich denke,

Leonardo DiCaprio 
Kate Winslet 
Daniel York 
Geoffrey Rush 

Ich versuchte, wie unten

$sql = "SELECT cast FROM mivie ORDER BY id ASC"; 
$execute = $db->query("$sql"); 
$row = $dbh->query($sql); 
    while ($row = $execute->fetch_assoc()) { 
    $cast = $row['cast']; 
     $myArray = explode('/', $cast); 
     foreach($myArray as $my_Array); 
     //do something 
     echo $my_Array; 
} 
+4

Ihre Datentabellen Normalisieren macht es viel einfacher zu handhaben als getrennte Werte mit in einer Spalte –

+0

'$ myArray = explodieren ('/', $ cast); $ check = array(); foreach ($ arr wie $ my_array): (! In_array ($ my_array, $ check)) wenn { $ überprüfen [] = $ my_array; echo $ my_Array; } endforeach; ' –

Antwort

2

Sie müssen Tabellen "Aktoren" erstellen und eine Beziehung von "Viele zu vielen" movie_to_actor erstellen. Und dann kann man einfach alle Akteure bekommen, Schauspieler für einige Film usw.

Sie mehr über diese Beziehung lesen können here und über Datenbank-Normalisierung here

Verwandte Themen