php - 连接两个表并遍历数据

标签 php mysql database

我一直在使用 stackoverflow 来帮助我,但现在我很困惑 - 希望我能在这个问题上得到一些指导:

我有两个表,一个包含 NFL 分区,另一个包含 NFL 球队。它们通过 division_id 字段(Divisions 表上的主键,Teams 表上的外键)连接。

我想做的是在查询中加入表并按部门输出团队。我可以在 PHP 中使用两个单独的查询/循环来完成此操作,但我想知道如何/是否可以通过在单个查询中连接两个表来完成此操作。

这是我得到的:

$query = "SELECT Divisions.division_id, Divisions.conference, Divisions.name, 
    Teams.name FROM Divisions INNER JOIN Teams ON 
    Teams.division_id = Divisions.division_id ORDER BY Divisions.division_id";

if( $result = $db->query($query) ){
  while( $row = $result->fetch_object() ){
    // here is where I'm stuck
  }
}

我试图让最终输出看起来类似于:

亚足联北部
克利夫兰布朗队
匹兹堡钢人队
巴尔的摩乌鸦队
辛辛那提孟加拉虎

亚足联东区
布法罗比尔
迈阿密海豚
等..

非常感谢任何可以帮助我解决这个问题的人!我已经 2 年多没有做过任何编程了,只是重新开始。

最佳答案

每当 division_id 发生变化时,遍历行并输出一个新的标题:

$query = "SELECT Divisions.division_id, Divisions.conference, Divisions.name, 
    Teams.name AS teamName FROM Divisions INNER JOIN Teams ON 
    Teams.division_id = Divisions.division_id ORDER BY Divisions.division_id";

if ($result = $db->query($query)) {
    $division = "";
    while ($row = $result->fetch_object()) {
        if ($division != $row["division_id"])
        {
            $division = $row["division_id"];
            echo "<br /><h2>{$row["conference"]}</h2>";
        }

        echo "{$row["teamName"]}<br />";
    }
}

关于php - 连接两个表并遍历数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10501112/

相关文章:

MySQL数据库 "create table "查询

java - 如何在Java中存储树结构?

javascript - 选中单选框时禁用输入框

php - MySQL Inner Join,从多个表中选择

php - MySQL 将多个列中的唯一项目分组,每个列有 COUNT 个?

php - Docker PHP MySQL 连接被拒绝

MYSQL 删除表本身的 NOT IN 子查询

mysql - 加入职位

php - 用户评分更新、重新计算

php - 如何在跨三个表的 mysql 查询中使用联接