2012-02-23 22 views
0

合計11フィールド(ID、プライマリキーを含む)を含むテーブル(GAMES)があります。 このテーブルの2つのフィールドは、同じ外部テーブル(TEAMSテーブル)の2つのフィールド(HOME_TEAMおよびAWAY_TEAMフィールド)です。2つのフィールドが同じテーブルを参照する1つのテーブル

テーブルのチームには、名前、住所、ロゴなどが含まれます。次のように

私の問題は、次のとおりです。

私はゲームテーブル内の2つのフィールドに同じテーブルを参照するように私が正しくこれらを表示することができますか。私が表示を意味するとき、私はチームの名前(テーブルTEAMSに格納)を表示し、テーブルGAMESに格納されている外部キーを表示したくないということを意味します。 私は正しいキーを正しく表示できますが、代わりにチームの名前を表示できますか?

ご協力いただきありがとうございます。

これは私が今持っているものです。

mysql_select_db($database_check_mag, $check_mag); 
$query_getPosts = "SELECT games.id_game, games.seizoen, games.date, games.type, games.hometeam, games.awayteam, teams.id_team, teams.naam_team, teams.logo, teams.adres FROM games INNER JOIN teams ORDER BY games.date DESC"; 
$query_limit_getPosts = sprintf("%s LIMIT %d, %d", $query_getPosts, $startRow_getPosts, $maxRows_getPosts); 
$getPosts = mysql_query($query_limit_getPosts, $check_mag) or die(mysql_error()); 
$row_getPosts = mysql_fetch_assoc($getPosts); 

そして、これは私がそれを表示する方法である:

<table width="100%"> 
<tr> 
<th scope="col" align="left">Date</th> 
<th scope="col" align="left">Type</th> 
<th scope="col" align="left">Game</th> 
<th scope="col">&nbsp;</th> 
<th scope="col">&nbsp;</th> 
</tr> 
<?php do { ?> 
<tr> 
<td align="left"><?php echo $row_getPosts['date']; ?></td> 
<td align="left"><?php echo $row_getPosts['type']; ?></td> 
<td align="left"><?php echo $row_getPosts['hometeam']; ?> - <?php echo $row_getPosts['awayteam']; ?></td> 
<td><a href="games_edit.php?id_game=<?php echo $row_getPosts['id_game']; ?>">EDIT</a></td> 
<td><a href="games_delete.php?id_game=<?php echo $row_getPosts['id_game']; ?>">DELETE</a></td> 
</tr> 
<?php } while ($row_getPosts = mysql_fetch_assoc($getPosts)); ?> 
</table> 

だから今のエコー$のrow_getPosts [ 'hometeam']と$ row_getPostsをエコー[」あなたはid_teamフィールドを正しく表示していますが、私はそれらがnaam_teamフィールドを表示したいと思っています。

答えて

1

2度目のチームテーブルに参加する必要があります
このような各チーム
のために一度:

選択g.id_game、homet.naam_team、ゲームグラムからawayt.naam_team、 チームのhomet、どこg.hometeam = homet.id_team awaytチームと グラム.awayteam = awayt.id_team;

+0

私は完全にあなたがそれをどうやったのか理解していない、ここでは、その後のように、今ではもう何も示していない動作しないコードは、ある... は「games.id_game、games.seizoen、games.dateを選択して、 games.types、games.hometeam、games.awayteam FROM games INNER JOIN team on games.awayteam = teams.id_team AND games.hometeam = teams.id_team ORDER BY games.date DESC ' – user1228078

+0

あなたはチームテーブルに一度参加しています。もちろんそれは仕事ではありません –

+1

これを実行する:g.id_game、g.seizoen、g.date、g.type、g.hometeam、g.awayteam、homet.naam_team ht_name、awayt.naam_team at_nameを選択してください games g、teams homet 、チームawayt g.hometeam = homet.id_teamとg.awayteam = awayt.id_team ORDER BY g.date DESC; –

関連する問題