我有2个表,在一个表中有电影中所有情节的列表,在另一个表中有情节的信息流。每个剧集都有自己的ID,因此流通过该剧集的ID进行链接。

但是现在我有一个问题:我想制作一个情节列表,同时想插入一个指向流的链接。因此,这意味着我必须同时获取2个表,但我不知道该怎么做。这是我的代码

    <?php
include 'connection.php';
$a = (int)$_GET['a'];

if ($result = $con->prepare("SELECT id, ep_nr, ep_title FROM anime_episode WHERE ani_id = $a"))
{
    $result->execute();
    $result->bind_result($eid, $nr, $title);

    while ($result2 = $con->prepare("SELECT * FROM anime_stream WHERE ep_id = $eid"))
    {
        $result2->execute();
        $result2->bind_result($eid, $etitle, $lang, $sname, $link, $uploadedby);

echo '<div id="list-box">';
    echo '<table cellspacing="0">';

while ($result->fetch() && $result2->fetch())
    {
    echo '<tr>';
    echo '<td width="50">' . $nr . '</td>' . '<td>' . $title . '</td>' . '<td>' . $link. '</td>';
    echo '</tr>';
    }
    echo '</div>';
echo '</table>';
    }
}
$con->close();
?>

最佳答案

正如Strawberry所建议的那样,我相信您希望基于外键将两个表连接起来,并选择两个表的内容,就像...

select
  epi.*,
  str.*
from
  anime-episode epi
inner join
  anime-stream str on epi.ani-id = str.epi-id
where
  epi.ani-id = $id


这假定您的情节将始终具有至少一个流,因为内部联接只会在联接的每个表中找到一条记录时才返回一行(带有两个表的列)。可以使用左外连接,即使给定情节不存在流,该连接仍将返回电影。

在我的平板电脑上找不到下划线!

09-20 11:23