MySQL 如何使用 PDO 的 fetchAll 方法实现该功能


<!–

–>

MySQL 如何使用 PDO 的 fetchAll 方法实现该功能

在进行 数据库的开发时,经常需要把查询结果按照某一字段进行分组,并将其他字段的值以 key-value 的形式存储在关联数组中。下面就介绍如何使用 PDO 的 fetchAll 方法实现该功能。

阅读更多:

步骤一:查询数据

首先需要对数据库进行查询,并对查询结果进行分组。下面以一个简单的示例进行说明:

(adsbygoogle = window.adsbygoogle || []).push({});

$ = "SELECT category, name, price FROM products ORDER BY category";
$stmt = $pdo->query($);
$data = $stmt->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC);

以上代码查询 products 表中的数据,并按照 category 字段进行分组,最后将 name 和 price 以 key-value 的形式存储在一个关联数组中。

步骤二:输出数据

接下来就可以使用 foreach 循环遍历关联数组,输出每个分组的结果。示例代码如下:

foreach(data ascategory=>values){ echo "<h2>".category."</h2>";
    echo "<ul>";
    foreach(values asitem){
        echo "<li>".item['name'].": ".item['price']."</li>";
    }
    echo "</ul>";
}

以上代码将每个分组的 category 作为标题输出,并输出该分组下的所有产品名称和价格。

总结

使用 PDO 的 fetchAll 方法可以轻松将查询结果分组,并将其他字段的值以关联数组的形式存储,方便后续的处理和输出。同时,也可以通过 foreach 循环遍历关联数组,输出每个分组的结果。