php - 从存在 id(来自另一个表)的一个表中选择

标签 php mysql multiple-tables connection

首先,我只想对糟糕的标题表示抱歉。我真的很难用短短的一句话来解释我面临的问题。

我有一个名为 actors 的表,其中包含一个 aID(主键) 和一个 aName 以及更多内容。我还有一个名为 videos 的表,其中包含 vID(主键) 和其他数据。我拥有的第三个也是最后一个表称为connections,其中包含一个主键、一个cVideoID 和一个cActorID

假设我创建了一个视频,当我导航到该视频时 *www.example.com/video.php?v=primary_key* 我想打印出该电影中的所有 Actor (actor1、actor2 , actor3 和 actor4).因此我创建了 connections 表来跟踪所有电影 Actor 的联系。对于我创作的每一部电影,我都会将 Actor 与电影联系起来。

我认为我可以做这样的事情:

<?php
    $result2 = mysql_query("SELECT `actors`.`aID`, `actors`.`aName` FROM `actors` WHERE `connections`.`cVideoID` = {$_get['v']}");
    while($actors = mysql_fetch_array($result2))
    {
        echo "<a href='actor.php?id={$actors['aID']}>{$actors['aName']}</a> ';
    }
?>

但是好像不行。有什么想法吗?

最佳答案

您要做的是从 connections 中选择所有条目,其中视频 ID 是所选视频。然后,您在类型转换上加入,以获取有关找到的 Actor 的所有信息。

示例:获取特定视频 ID 的所有 Actor 姓名:

SELECT a.aName 
FROM connections c 
  LEFT JOIN actors a 
  ON a.aID = c.aID 
WHERE c.vID = 1;

SQL Fiddle

关于php - 从存在 id(来自另一个表)的一个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19339846/

相关文章:

php - 求数组中元素个数较小的个数,解为 2n

php - 捕获时的 Auth.net 问题

php - 从 mysql_fetch_array 查询创建一个表单

php - 出现错误 SQLSTATE[HY000] : General error: 2031 when trying to execute if statement

php - 如何使用 CodeIgniter 在 MySQL 中更新数学集?

r - 使用 RMySQL 包的 dbGetQuery 查询多个表

asp.net-mvc - ASP.NET MVC 3 多个模型到单个表单

php - PHP 中的数据库插入返回未定义的字符串并注意未知列

mysql - 优化表以提高性能

php - 返回之前修改 mysql php 查询结果