我有一个包含11个字段的表(GAMES)(包括ID,主键)。 该表的2个字段引用(通过外键)到同一个外部表(TEAMS表),这些是HOME_TEAM和AWAY_TEAM字段
表TEAMS包含所有团队,包括他们的姓名,地址,徽标等。
我的问题如下:
当我在GAMES表中引用2个字段的同一个表时,如何才能正确显示这些字段。当我的意思是显示我的意思是我想显示团队的名称(存放在表TEAMS中),而不是存储在表GAMES中的外键。 我可以正确显示foerign键,但是如何显示团队的名称呢?
非常感谢任何帮助,谢谢。
这就是我现在所拥有的:
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"> </th>
<th scope="col"> </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>
所以现在echo $ row_getPosts ['hometeam']和echo $ row_getPosts ['awayteam']正确显示id_team字段,但我希望它们显示naam_team字段,当然不同......
答案 0 :(得分:1)
你需要两次加入球队表
每个队伍一次
像这样:
从游戏g中选择g.id_game,homet.naam_team,awayt.naam_team, 球队主场,球队在哪里g.hometeam = homet.id_team和 g.awayteam = awayt.id_team;