質問: ### 前提・実現したいこと PHPでtebleを作るプログラムを作っています。 CSVファイルを読み込んでtableを作るのはうまくいったのですが、データを追記しようとするとうまくいきません。 やり方を教えていただけないでしょうか? よろしくお願いします! ### 発生している問題・エラーメッセージ Notice: Undefined offset: 1 in C:\xampp\htdocs\php\table\table.php on line 23 Notice: Undefined offset: 2 in C:\xampp\htdocs\php\table\table.php on line 24 Notice: Undefined offset: 3 in C:\xampp\htdocs\php\table\table.php on line 25 ### ソースコード ``` //table.php 管理画面 販売履歴 販売日お客様販売量削減対象 $days$customer$amount$target"; } fclose($file); ?> データ追加 販売日 お客様 様 販売量 削減対象 ``` ``` //table_insert.php データを追加しました。 ``` ### 補足情報(言語/FW/ツール等のバージョンなど)
回答: table.php の $csv = fgets($file); で、空行かどうかの判定が必要です。 また、読み込んでいる data.csv の改行コードの取り除きも必要だと思います。 以下のようにしてみたらどうでしょうか? ``` $csv = trim(fgets($file)); if ( $csv == false ) { break; } ``` というように。 fgets($file) で読み込んだデータを trim で改行コードを取り除きます。 読み込んだデータが空かどうか判定し、空の場合 (空行) は break する。