一尘不染

PHP和MYSQL:对类别使用分组依据

mysql

我的数据库具有以下设置

productid | productname | category id

我想像这样输出它们:

category #1
item 1 
item 2
item 3

category #2
item 1 
item 2
item 3

我按组使用它们,但效果很好,但是我想遍历每个组并显示该组的内容。我该怎么做?


阅读 241

收藏
2020-05-17

共1个答案

一尘不染

我建议只使用一个简单的查询来获取所有行,并按类别ID进行排序。仅当类别的值与上一行不同时才输出类别。

<?php

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

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

?>
2020-05-17