【问题标题】:Selecting lists of data and determining their place选择数据列表并确定它们的位置
【发布时间】:2016-07-18 01:48:30
【问题描述】:

我正在尝试确定球队是主场还是客场。在我的代码中,'home'= 1 的球队是主队,0 是客队。正如您在下面看到的,代码将从每场比赛中选择两支球队(主场和客场);但是,它很难找出谁在家谁不在!它在寻找主客场球队方面非常有效,直到我进入了第 6 场比赛,其中主客场混为一谈。有关如何解决此问题的任何想法!

游戏桌:

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>";
}

请注意:如果我遗漏了任何有用的信息,请告诉我,因为我真的很想了解为什么这不起作用并希望修复它!

此外,如果有更好的方法来解决这个问题,我对此非常开放,并且很乐意在可能的情况下接受建设性的批评!

【问题讨论】:

    标签: php html mysql pdo


    【解决方案1】:

    如果您按 game_id ASC 和 home 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";
    

    【讨论】:

    • 似乎很有魅力!您能否详细说明为什么会这样?我还是有点迷茫!谢谢! :)
    • 您正在为每场比赛选择 2 条 gameLink 记录。没有排序,您无法确定主队和客队的排序。通过按 game_id 升序和 home 降序排序,您将按正确的顺序排列它们
    • 完美,非常感谢您的帮助!当系统允许时,我会接受你的回答:)
    猜你喜欢
    • 1970-01-01
    • 2015-03-02
    • 2023-04-04
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2015-01-06
    • 2019-12-02
    • 1970-01-01
    相关资源
    最近更新 更多