如何从选择行具有多个名称的所有行中获取一次每个名称

时间:2016-09-13 09:33:41

标签: php mysql

我有一个电影数据库,我保存了有关电影的所有数据。现在我想获取所有演员列表以做更多事情。在我的movie表中有一个cast行,其中所有的演员/女演员名称用斜线分隔。

如何从cast行获取每个演员/演员姓名一次?

我的电影桌如:

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

所以现在我想像以下一样获取每个actor名称:

Leonardo DiCaprio
Kate Winslet
Daniel York 
Geoffrey Rush

我试过如下

$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;
}

1 个答案:

答案 0 :(得分:2)

我认为你需要创建表"演员"并创建多对多关系" movie_to_actor"。然后,您可以轻松获得所有演员,演员等电影等。

您可以详细了解此关系here以及数据库规范化here