0

MySQLテーブルからデータを取得すると、データは次のようになります。

Acct #          Acct Name                  Item     Date Sold            Qty Sold 
10293           Company A               Canon JX200 2012-06-24                1
11042           Company B               Canon JX200 2012-06-05                2
12560           Company D               Canon L90   2012-04-20                1
12560           Company D               Canon L90   2012-05-07                1
14160           Company D               Canon L90   2012-05-22                2
14168           Company C               Canon L90   2012-04-20                6

次のような出力が必要です。

Acct #  Acct Name   Item          Mo 1  Mo 2    Mo 3    Mo 4    Mo 5    Mo 6    Tot
10293   Company A   Canon JX200                                           1       1
11042   Company B   Canon JX200                                           2       2
12560   Company C   Canon L90                             6                       6
12560   Company D   Canon L90                             1       3               4

大学のAced2線形代数クラスとphp配列は私を困惑させました。データを配列に入れ、並べ替えて要約する必要があります。最大の問題(私は思う)は、配列を構造化するためのコードです。前もって感謝します!

4

2 に答える 2

0

このために、ピボットテーブルを使用できます。http://en.wikibooks.org/wiki/MySQL/Pivot_table

于 2012-07-26T07:13:02.130 に答える
0

addinf ORDER BY Acct NameでMySQLクエリのデータをソートしてみてください。データを受信すると、次のコードが役立ちます。

$data = array();
foreach ($rows as $row) {
preg_match('/^\d{4}\-(\d{2})\-/', $row['DateSold'], $match);
  $data[] = array(
   'Acct' => $row['Acct'],
   'AcctName' => $row['AcctName'],
   'Item' => $row['Item'],
   'Mo ' . $match[1] => $row['QtySold']
  );

}
于 2012-07-26T07:45:35.937 に答える