我正在努力确定球队是回家还是离开。在我的代码中,'home'= 1的团队是主队,0离开。如下所示,代码将从每个游戏中选择两个团队(主场和客场);然而,它很难找出谁在家,谁在外面!它完美地找到了主队和客场球队,直到我进入了第六场比赛,在这场比赛中,主场和客场都混在了一起。关于如何解决这个问题的任何想法!
游戏表:
gameLink表:
SQL查询:
$gameQuery = "SELECT * FROM game, gameLink, teams WHERE gameLink.gameid = game.gameid AND gameLink.teamid = teams.teamid ORDER BY game.gameid";
$stmt = $conn->prepare($gameQuery);
$stmt->execute();
$gameList = array();
$count = 0;
while($gD = $stmt->fetch(PDO::FETCH_ASSOC)) {
$gameList[$count] = $gD;
$count++;
}
将团队打印到表格中:(表格标签在PHP之外)
for($index = 0; $index < count($gameList); $index+=2) {
echo "<tr>
<td>{$gameList[$index]['gameid']}</td>
<td>{$gameList[$index]['name']}</td>
<td>{$gameList[$index+1]['name']}</td>
<td><a href='games.php?editid={$gameList[$index]['gameid']}'<button class='btn btn-warning'><i class='fa fa-pencil'></i></button></a> <a href='games.php?deleteid={$gameList[$index]['gameid']}'<button class='btn btn-danger'><i class='fa fa-remove'></i></button></a></td>
</tr>";
}
请注意:如果我遗漏了一些有用的信息,请告诉我,因为我真的想了解为什么这不起作用并希望解决它!
此外,如果有更好的方法来解决这个问题,我对此非常开放,并且非常乐意在可能的情况下提出建设性的批评!
答案 0 :(得分:2)
如果您通过game_id ASC和家庭DESC订购SQL语句,您应该始终获得正确的订单。
$gameQuery = "SELECT * FROM game, gameLink, teams WHERE gameLink.gameid = game.gameid AND gameLink.teamid = teams.teamid ORDER BY game.gameid ASC, gameLink.home DESC";