php csvデータを読み書き後表表示させたい
PHP初心者です。
色々調べ、試したのですがなかなか完成まで辿りつけないので、どなたかお力添えお願い致します。
PHP バーション 5.3.1
XAMPP バージョン 2.5.8
OS Win XP SP2
access2007を使用し、以下のようなCSVファイルを出力しました。
それを、phpで加工後ブラウザに表示させたいのです。
csvのデータ
"メーカCD","メーカー名","MRCD","棚番","品目CD","品目名","規格","繰越数","出荷","入荷","残","ITEM_C","実績テーブル集計(移動出入仕入売上)のクロス集計_sort","2010/10/01","2010/10/02","2010/10/03", 」 ここまでがタイトル行
ここから明細「"1 ","○○フーズ ","00200", "A101","15 ","くね","45g5" ,3.00,3.00,0.00,0.00,"15615 ","売上"1.00,,1.00"
これを正表して、
|メーカCD| メーカー名| MRCD|棚番|CD|品名|規格|繰越|出荷|入荷|残|区分|10/1|10/2|10/3|
|1 |○○フーズ|00300 |A101|15 |くね |45g5|3 |3 | 0|0 |売上 | |3 | |
の様な表にしたいです。
まず、初めに
<?php
//$filename変数にどのファイルかを割り当てる。
$filename = "c:\\xampp\\htdocs\\hi.csv";
$handle = fopen($filename,"r");
$contents = fread($handle, filesize($filename));
fclose($handle);
$fp=str_replace("実績テーブル集計(移動出入仕入売上)のクロス集計_sort", "区分", $contents);
$line = explode(",", $fp);
echo "<table cellpadding='4' cellspacing='1' border='1';><tbody>";
for ($a = 0;$a < count($line); $a++) {
$data = split("\t", $line[$a]);
echo "<tr>";
if ($a == 0) $style = 'background-color : #e5e5e5;';
else $style = 'background-color : #ffffff;';
for ($b = 0; $b < count($data); $b++)
echo'<td style="' . $style . '">' . $data[$b] . '</td>';
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
?>
とスクリプトを書き、CSVデータのタイトル行"実績テーブル集計(移動出入仕入売上)のクロス集計_sort"をstr_replaceを使用し”区分”への変更し、そのあと表として表示させてみようと思ったのですがうまく出来ません。
最終的には、「"」も消し、いらない空白も消し「"2010/10/02"」→は「10/2」に変更したいのですが先に進めない状態です。
お礼
親切丁寧なご回答をありがとうございました 回答内容を参考に精進してまいりたいと思います。 ありがとうございました