2012-02-23 1 views
0

У меня есть таблица (ИГРЫ), содержащая всего 11 полей (включая идентификатор, первичный ключ). 2 поля этой таблицы (через внешние ключи) на ту же внешнюю таблицу (таблица TEAMS), это поля HOME_TEAM и AWAY_TEAM.одна таблица с двумя полями, ссылающимися на ту же таблицу

Таблица TEAMS содержит все команды, включая их имя, адрес, логотип и т. Д. .

Моя проблема заключается в следующем:

как я сослаться на ту же таблицу для 2-х полей в таблице GAMES, как я могу показать их правильно. Когда я имею в виду отображение, я имею в виду, что я хочу отобразить имя команды (помещенную в таблицу 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">&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 [» awayteam '] корректно отображают поля id_team, но я хочу, чтобы они отображали поля naam_team, которые, конечно же, отличаются друг от друга ...

ответ

1

вам нужно вступить в таблицу команд дважды
один раз для каждой команды
так:

выберите g.id_game, homet.naam_team, awayt.naam_team от игры г, команды homet, команд awayt где g.hometeam = homet.id_team и г .awayteam = awayt.id_team;

+0

я не совсем понимаю, как ты это сделал, вот код, который затем не работает, как теперь он не показывает ничего больше ... «SELECT games.id_game, games.seizoen, games.date, games.type, games.homemam, games.awayteam FROM games INNER JOIN команды ON games.awayteam = teams.id_team И 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 из игр g, команды homet , команды awayt где g.hometeam = homet.id_team и g.awayteam = awayt.id_team ORDER BY g.date DESC; –

 Смежные вопросы

  • Нет связанных вопросов^_^