[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 メーリングリストの案内