0
我有这个MySQL Statment的问题。所以基本上我有一个名为游戏的表,我想 在我的网站上显示此表。桌面游戏具有Foregin Keys,如developer_id, publisher_id,categorie_id,platform1_id,platform2_id,platform3_id,platform4_id,platform5_id。 我有5个平台,因为在Table平台中我有5条记录(PC,PS4,XB1,SWITCH,MOBILE)。 (如果你们知道这些平台的更好更简单的解决方案,请告诉我。) 因此,现在我的网站上的输出工作,但例如,而不是显示开发人员名称,它显示 它是ID。我知道我必须内部加入他们,我可能可以内部加入所有的外键,但 平台之一。因为我不知道如何通过INNER JOIN,如果你有多个FK从一个表中。来自同一个表的多个外键
如果你需要更多的信息告诉我。我还将包括我的数据库和我的PHP代码的图片,我从桌面游戏中选择。
$query = "SELECT * FROM games WHERE id = $id";
$result = mysqli_query($link, $query) or die(mysqli_error($link));
while ($row = mysqli_fetch_array($result)) {
echo '<tr>';
echo '<td>'.$row['developer_id'].'</td>';
echo '<td>'.$row['publisher_id'].'</td>';
echo '<td>'.$row['categorie_id'].'</td>';
echo '<td>'.$row['platform1_id'].'</td>';
echo '<td>'.$row['platform2_id'].'</td>';
echo '<td>'.$row['platform3_id'].'</td>';
echo '<td>'.$row['platform4_id'].'</td>';
echo '<td>'.$row['platform5_id'].'</td>';
echo '<td>'.$row['game_name'].'</td>';
echo '<td>'.$row['relese_date'].'</td>';
$intro = $row['introduction'];
$desc = $row['description'];
echo '<td>'.$row['rating'].'</td>';
echo '</tr>';
}
你得到的所有其他领域的ID太正确,像类,平台等?你是否也想要这些表中的所有值? –
是的,我也想要他们的价值观。 – krneki
从这张图片中,很多关系看起来像是“多对多”(一个游戏可以有多个平台,一个平台可以有多个游戏)......所以你可能不会想要一个“在这种情况下,JOIN'因为每次平台都会检索到相同的游戏数据(除非你遇到一个非常笨重的'GROUP_CONCAT ... GROUP_BY'类路径) - 你可能会更好地在循环,如果你真的**需要他们在这一点上。 – CD001