gpt4 book ai didi

php - 在 PHP 中对 SQL 结果集进行分组

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:14 28 4
gpt4 key购买 nike

假设我有一个查询运行以下查询:

编辑

添加了order子句,因为真正的sql语句有一个。

SELECT description, amount, id FROM table ORDER BY id

在这种情况下,ID 不是数据集唯一的。它会返回这样的东西。

    Description    Amount    ID
----------- ------ --
1 Hats 45 1
2 Pants 16 1
3 Shoes 3 1
4 Dogs 5 2
5 Cats 6 2
6 Waffles 99 3

我需要做的是将每个 ID 部分包含在它自己的 div 中(因此第 1、2、3 行在一个 div 中,第 4,5 行在另一个 div 中,第 6 行在它自己的 div 中)。

有很多解决方案,但我想不出一个不是过于复杂的。

我希望能够保持 SQL 的原样,并以某种方式对 PHP 中的数据集进行排序,以便我可以在遍历整个数据集的同时遍历数据集的每个部分。

某种数组可以工作,但它的结构让我很困惑。

我怎样才能让它发挥作用? PHP 解决方案是理想的,但理论上也会有所帮助。

最佳答案

看看这样的东西是否适合你。

// execute query: Select description, amount, id from table

$results = array();

while ($row = $query_result->fetch_array()) {
if (!isset($results[$row['id']])) $results[$row['id']] = array();
$results[$row['id']][] = $row; // push $row to results for this id
}

// later on
foreach($results as $id => $data) {
// output div based on $id
foreach($data as $datum) {
// output individual data item that belongs to $id
}
}

关于php - 在 PHP 中对 SQL 结果集进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695514/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com