我有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
这假定您的情节将始终具有至少一个流,因为内部联接只会在联接的每个表中找到一条记录时才返回一行(带有两个表的列)。可以使用左外连接,即使给定情节不存在流,该连接仍将返回电影。
在我的平板电脑上找不到下划线!