如何循环遍历 PDO 对象并使用匹配列对行进行分组

how to Loop through PDO object and group rows with matching column

我正在制作一份网络报告,我需要让它看起来像下面的格式。数据来自我在 php 中获得的 PDO 对象。但我不确定如何打印出来,这样 product_line 就不会重复,因为 PDO 项目中的每个条目都有一个产品线。它应该打印产品线,然后打印该产品线的所有作业,然后再转到下一个产品线。是否可以循环遍历我的 PDO 对象,打印出一个 product_line,然后在继续下一个 product_line 之前打印每个匹配 product_line 的项目?

Part   Job   Seq  Workcenter  Source  Cause    Date     Notes
---------------------------------------------------------
Product_Line
103V   A306  003  Bending    Prep    Wrong   4/1/2022 blah blah blah
102V   B306  002  Laser Op   Laser   error   3/31/2022 some more notes
Product_Line
864A   M037  008  Waterjet   skids  detail wrong 3/31/2022 more notes

确保您的查询是按产品线排序,然后创建一个变量来存储当前产品线。之后,启动一个for循环来打印每个产品,但首先检查产品的产品线是否与您存储在变量中的产品线不同。如果是,打印一个新的 header 并将这个新的产品线存储在变量中。

$current_product_line = "";

foreach ($products as $product) {
    if ($current_product_line!= $product["product_line"]) {
        // print header
        $current_product_line = $product["product_line"];
    }
    // print your product
}