我其實不太確定我是否需要加入。這是真正的唯一的事情,同時學習SQL,我並沒有真正理解或過於講究,但基本上我有2個表:如何在代碼中使用連接?
games
subgames
在遊戲中我有gamesname行:
Final Fantasy
Metal Gear Solid
Yu-Gi-Oh
在子博弈我有子游戲名稱行:
Metal Gear Rising
它們都有一個id的自動增量。不過,我試圖將我的遊戲顯示爲可點擊鏈接,然後刷新頁面並顯示子游戲。因此,舉例來說,如果我點擊Metal Gear Solid
它會帶你到games.php?subgame=Metal%20Gear%20Solid
並顯示Metal Gear Rising
。這是我迄今爲止,但它不顯示Metal Gear Rising
,可能是因爲我有一個表中的遊戲和另一個沒有相互引用的子游戲。
所以我的問題是,我怎麼能引用它們在我的代碼,以便正常顯示?
<?php
$sub = $_GET['subgame'];
if($sub){
$result = mysql_query("SELECT $sub FROM games");
while ($row = mysql_fetch_array($result)) {
printf("%s<br />", $row["subgamename"], $row["subgamename"]);
}
}
else{
$result = mysql_query("SELECT gamename FROM games ORDER BY gamename");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("<a href='games.php?subgame=%s'> %s </a><br />", $row["gamename"], $row["gamename"]);
}
}
?>
加入時,有兩個表之間的關係被使用。遊戲和子游戲如何相互關聯?在'subgames'表中有'game_id'這個列表示它是一個子遊戲嗎? – Barmar
看起來你錯過了兩張表之間的關係。子游戲表應該包含父遊戲表的ID的外鍵,以將兩者連接在一起。 –
在這裏你可以看到一個很好的加入視覺解釋: http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – Marcos