2012-06-08 129 views
0

我需要生成一个PHP页面,以显示每个类似行项目的计数/摘要的方式显示存储在数组中的所有详细信息(来自MySQL请求)。PHP/MySQL数组与表计算总计计算

这里是从SQL查询收集(它一直结构以便通过工作组,产品代码)的示例数据集:

+----+-------------+-------------+-----------+-----------+ 
| ID | ProductCode | Description | Workgroup | Status | 
+----+-------------+-------------+-----------+-----------+ 
| 2 |  A123 | Coke  | Finance | Ordered | 
| 4 |  A123 | Coke  | Finance | Rejected | 
| 1 |  A123 | Coke  | Finance | Rejected | 
| 6 |  B111 | Pepsi | Finance | Ordered | 
| 5 |  B111 | Pepsi | Finance | Rejected | 
| 8 |  B111 | Pepsi | Finance | Rejected | 
| 10 |  B112 | Fanta | Finance | Ordered | 
| 42 |  A123 | Coke  | Management| Ordered | 
| 16 |  A123 | Coke  | Management| Ordered | 
| 11 |  B112 | Fanta | Management| Rejected | 
+----+-------------+-------------+-----------+-----------+ 

这些细节已经被存储在一个PHP数组如下:

Array 
    (
     [0] => Array 
      (
       [ID] => 2 
       [ProductCode] => A123 
       [Description] => Coke 
       [Workgroup] => Finance 
       [Status] => Ordered 
      ) 
     [1] => Array 
      (
       [ID] => 4 
       [ProductCode] => A123 
       [Description] => Coke 
       [Workgroup] => Finance 
       [Status] => Rejected 
      ) 
      ...etc 
) 

我需要的是将数据吐出多个由WorkGroup分隔的表格,每个产品有一个汇总行,每个单独的行项目都列在下面(它并不一定是一个html表格,只是一些HTML构造这是能够代表线 - 项目)

从我所显示的10例项,那就需要输出如下:

+--------------------------------------------------------+ 
| FINANCE TEAM           | 
+----+-------------+-------------+-----------+-----------+ 
| Coke  Total: 3  Ordered: 1  Rejected: 2  | 
+----+-------------+-------------+-----------+-----------+ 
| 2 |  A123 | Coke  | Finance | Ordered | 
| 4 |  A123 | Coke  | Finance | Rejected | 
| 1 |  A123 | Coke  | Finance | Rejected | 
+----+-------------+-------------+-----------+-----------+ 
| Pepsi Total: 3  Ordered: 1  Rejected: 2  | 
+----+-------------+-------------+-----------+-----------+ 
| 6 |  B111 | Pepsi | Finance | Ordered | 
| 5 |  B111 | Pepsi | Finance | Rejected | 
| 8 |  B111 | Pepsi | Finance | Rejected | 
+----+-------------+-------------+-----------+-----------+ 
| Fanta Total: 1  Ordered: 1  Rejected: 0  | 
+----+-------------+-------------+-----------+-----------+ 
| 10 |  B112 | Fanta | Finance | Ordered | 
+----+-------------+-------------+-----------+-----------+ 

+--------------------------------------------------------+ 
| MANAGEMENT TEAM          | 
+----+-------------+-------------+-----------+-----------+ 
| Coke  Total: 2  Ordered: 2  Rejected: 0  | 
+----+-------------+-------------+-----------+-----------+ 
| 42 |  A123 | Coke  | Management| Ordered | 
| 16 |  A123 | Coke  | Management| Ordered | 
+----+-------------+-------------+-----------+-----------+ 
| Fanta  Total: 1 Ordered: 0  Rejected: 1  | 
+----+-------------+-------------+-----------+-----------+ 
| 11 |  B112 | Fanta | Management| Rejected | 
+----+-------------+-------------+-----------+-----------+ 

我可以,如果我要求不够明确的进一步阐述。

任何帮助将非常感激。

在此先感谢。

+2

当您以“我有......且我需要......”开始发布信息时,您应该评估您是否编写了任何代码以尝试解决您的问题。 –

+0

道歉,如果你认为我太向前。我试图解决我的问题,没有一个值得发布,因为它是完整的和完全垃圾。正如我所说的:“任何帮助都会得到很大的赞赏。” – Zam

+0

完整和完全的垃圾更多的是与没有任何东西一起工作。如果你有什么,我们可以指出你出错的地方或者你可以做得更好的地方。 –

回答

0

php数组很容易转换成树状结构。你听起来像你知道如何编程,所以我不会sendtehfullcodez,因为我认为你可以处理一些嵌套的循环,以便在更方便的格式中生成最终的HTML。

$tree = array(); 
foreach ($arr as $row) { 
    extract($row); 
    $tree[$Workgroup][$Description][] = $row; 
} 
print_r($tree); 
+0

感谢您的回复,我可以看到将其转换为“有组织的”树状结构的用处。我仍然有点难以概念化如何查看数组,记录每个工作组的每个特定项目的计数,然后用摘要和详细的项目明细分解出来。 任何进一步在正确的方向轻推? – Zam