繁体   English   中英

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

[英]How to fetch each name once from all row where select row have multiple name

我有一个电影数据库,其中保存了有关电影的所有数据。 现在,我想获取所有演员列表以进行更多操作。 在我的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

所以现在我想像这样获取每个演员的名字:

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

我认为您需要创建表“ actor”并创建多对多“ movie_to_actor”关系。 然后,您可以轻松获取所有演员,某些电影的演员等。

您可以在此处阅读有关此关系的更多信息在此处阅读有关数据库规范化的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM