如何将类别下的项目分组?

时间:2015-02-21 18:20:46

标签: php mysql foreach

我正在尝试从数据库查询中打印出“很好”的结果。我有类别(城市)和项目(人)。

我的目标是:

New York
    John
    Peter
    Glenn
Los Angeles
    Annie
    Ben
    Norman

每个城市和人名都需要是详细信息文档的链接。我已经尝试过GROUP_CONCAT,但它并没有按照我想要的方式运行。我也在犹豫哪个方向来查询信息;首先是城市,然后加入人,反之亦然?

2 个答案:

答案 0 :(得分:0)

我建议您在这个简单的查询中执行此操作,假设您的表结构是这样的

id| People| City

代码是

 <?php

    $stmt = $pdo-> query("SELECT * FROM `YourTable` ORDER BY City");

    $current_cat = null;
    while ($row = $stmt->fetch()) {
      if ($row["City"] != $current_cat) {
        $current_cat = $row["City"];
        echo "Category #{$current_cat}\n";
      }
      echo $row["People"] . "\n";
    }

    ?>

答案 1 :(得分:0)

假设您在人员表中有一个指向城市的外键,您可以按如下方式查询:

select c.cityname,p.name from city c left join people p on c.cityid=p.peopleid
order by c.cityid

通过这种方式,您可以查询所有城市,即使其中没​​有人