我一直在使用 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/