2012-05-08 91 views
1

我一直在用計算器來幫助我,但現在我很爲難 - 希望我能在這個問題上得到一些指導:連接兩個表,並通過數據迭代

我有兩個表,一個包含NFL部門其他含NFL球隊。它們通過division_id場連接(在部門表的主鍵,在球隊表的外鍵)。

我想要做的是加入查詢和輸出的團隊由司表。我可以在PHP中使用兩個單獨的查詢/循環做到這一點,但我想知道如何/如果我可以在一個查詢連接兩個表,而不是實現這一目標。

以下是我有:

$query = "SELECT Divisions.division_id, Divisions.conference, Divisions.name, 
    Teams.name FROM Divisions INNER JOIN Teams ON 
    Teams.division_id = Divisions.division_id ORDER BY Divisions.division_id"; 

if($result = $db->query($query)){ 
    while($row = $result->fetch_object()){ 
    // here is where I'm stuck 
    } 
} 

我試圖得到最終的輸出類似於:

AFC北部
克利夫蘭布朗
匹茲堡鋼人隊
巴爾的摩烏鴉
辛辛那提猛虎隊

東亞足聯
布法羅比爾
邁阿密海豚
等。

主要預先感謝您的人誰可以幫我這個!我沒有做任何編程2年以上和剛剛回到了進去。

回答

0
$result = array(); 
if($result = $db->query($query)){ 

    while($row = $result->fetch_object()){ 
    if(empty($result[$row['division_id']]) 
    { 
     $result[$row['division_id']] = $row; 
    } 
    $result[$row['division_id']]['teams'][] = $row; 
    } 
} 
print_r($result); 
0

您可以循環低谷並檢查它是否再次是相同的分區。 如果一個新的部門,寫和<br />

$query = "SELECT Divisions.division_id, Divisions.conference, Divisions.name, 
    Teams.name as teamName FROM Divisions INNER JOIN Teams ON 
    Teams.division_id = Divisions.division_id ORDER BY Divisions.division_id"; 

if($result = $db->query($query)){ 
    $lastDivision = -1; 
    while($row = $result->fetch_object()){ 
    if($lastDivision != $row["division_id"]){ 
     //here it is a new division, 
     echo "<b>" . $row["division_id"] . "</b><br />"; 
    }else{ 
     //not a new division so we just continu to write teams 
     echo $row["teamName"] . "<br />"; 
    } 
    $lastDivision = $row["division_id"]; 
    } 
} 
1

遍歷行和輸出新的報頭每當division_id變化:

$query = "SELECT Divisions.division_id, Divisions.conference, Divisions.name, 
    Teams.name AS teamName FROM Divisions INNER JOIN Teams ON 
    Teams.division_id = Divisions.division_id ORDER BY Divisions.division_id"; 

if ($result = $db->query($query)) { 
    $division = ""; 
    while ($row = $result->fetch_object()) { 
     if ($division != $row["division_id"]) 
     { 
      $division = $row["division_id"]; 
      echo "<br /><h2>{$row["conference"]}</h2>"; 
     } 

     echo "{$row["teamName"]}<br />"; 
    } 
}