[PHP-users 30096] Re: 日付別の数値をcsvで出力するには
Seto
seto @ 1kg.jp
2006年 8月 20日 (日) 00:49:52 JST
Setoです。
連想配列は多重にできますのでそれを利用して
>1. 素材のGroup byでselectし、配列hairetuにに代入。
>2. 日付を配列で作っておく。ここではhiduke=("5/10","5/11","5/12","5/13","5/
>14","5/15")
>3. hairetuとhidukeで二重ループを行う。
そこで
$arr = array();
foreach ( $hairetu as $valm )
foreach ( $hiduke as $vald )
$arr[ $valm ][ $vald ] = 0;
とか初期化しておいて
4.必要なデータを一括して取得する
select * from テーブル (必要なら条件節);
5.その結果$resをもとにループさせてループ中にて
$arr[ $res['素材'] ][ $res['日付'] ] = $res['カウント'];
とかすれば整理された結果の連想配列が作成できるので
6.あとはCSVに加工
$arrCsv = array();
$arrCsv[] = "\t" . implode( "\t", $hiduke );
foreach ( $arr as $var=>$val )
$arrCsv[] = "$var\t".implode( "\t", $val );
とかで出来るのではないかと
Junya Seto
PHP-users メーリングリストの案内