одна таблица с 2 полями, ссылающимися на одну и ту же таблицу - PullRequest
0 голосов
/ 23 февраля 2012

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

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

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

Как я могу сослаться на одну и ту же таблицу для 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>

Так что теперь echo $ row_getPosts ['hometeam'] и echo $ row_getPosts ['awayteam'] отображают поля id_team правильно, ноя хочу, чтобы они отображали поля naam_team, которые, конечно, отличаются ...

1 Ответ

1 голос
/ 23 февраля 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...