2013-12-22 25 views
0

我有2個表,1個表中有一個電影中所有劇集的列表,另一個表中有來自這個劇集的流。每集都有他自己的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(); 
?> 
+0

請參閱JOIN。 – Strawberry

回答

0

一個這樣的查詢應該做的伎倆。

SELECT ae.id, ae.ep_nr, ae.ep_title, as.* FROM anime_episode ae 
    LEFT JOIN anime_stream as ON as.ep_id = ae.id 
WHERE ae.ani_id = [$arg] 
1

草莓建議,我相信你想加入基於外鍵兩個表並選擇兩個表的內容,somethig像...

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

這是假設你的發作將始終至少有一個流作爲內部聯接只會在連接的每個表中找到記錄時才返回一行(包含兩個表的列)。可以使用左外連接,即使在給定情節下不存在流,仍然可以返回電影。

在我的平板電腦上找不到下劃線!