[PHP-users 4097] Re: テキスト入力フィールドへ入力した値を CSV へ保存

BosProject T.Takeuchi php-users@php.gr.jp
Mon, 03 Dec 2001 20:08:12 +0900


竹内です。

> <?php
> $fp = fopen ("sample.csv","rb");
> $j=0;
> while ($arr = fgetcsv ($fp, 1000, ","))
>      {
>          for ($i=0; $i<count($arr); $i++)
>            {     
>               $csv[$i][$j]=$arr[$i];
>               fwrite ($fp,$csv[$i][$j]);
>              
> ----テーブルに各テキスト入力フィールドを表示する処理----
> 
> }
> $j++
> }
> ?>

 なんとなく感覚でコーディングしているような感じを
受けるのですが、論理的な順序を意識してコーディングして
いますか?

 「テーブルに各テキスト・・・」となていますが、HTMLに
表示させる部分の処理ということですか? それでしたら、
今回の質問の本題である書き込み部分の処理を見せて下さい。

 それとCSVファイルは各データ毎にファイルを1つずつ
用意しているのでしょうか? たとえばAに関連するデータ用
CSVファイルならa.csv、Bに関連するデータ用CSVファイルなら
b.csvというように1行のみのファイルなら、それほど複雑に
考える必要はありませんが、AのデータもBのデータも
同じCSVファイルに保存しているのだとすれば、何行目の
データを書き換えるのかという識別子のようなものを
PHPスクリプトに対してフォームから送信する時に与えて
いますか?

 あと気になったのは、

$csv[$i][$j]=$arr[$i];

 という部分ですが、$arr[$i]自体が配列になっていますので、
これだと$csv[$i][$j]には入れたい内容のデータは入らないはずです。
試しに echo $arr[$i] としてみれば明らかですが、表示されるのは
Array という文字のはずです。

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
合資会社ボスプロジェクト
竹内 輝明 webmaster@bos-project.com
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*