csvファイルを読み込み、1行づつカンマ区切りの値を各場所
<input type="" value="<?= print ---- ?>">
この部分のところに表示したいと思っているのですが
PHPでファイルの中身を取り、foreachで取った値をvar_dump確認すると
array(4){[0]=>string(1)"1"[1]=>string(4)"Mike"[2]=>string(14) "Mike@gmail.com"[3]=>string(5)"hello"}
array(4){[0]=>string(1)"2"[1]=>string(4)"Tom"[2]=>string(14) "Tom@gmail.com"[3]=>string(5)"hello"}
array(4){[0]=>string(1)"3" [1]=>string(4)"Brian"[2]=>string(14)"Brian@gmail.com"[3]=> string(5)"hello"}
と、取得できたいるのですが
HTML部分で表示するときに
文字コードをまだ変換していないので文字化けしてしまったり
<br /><b>Notice</b>: Uninitialized string offset: 1 in <b>
とエラーが出てきてしまったり。という状況になってしまいます。
php
1<?php 2 $fp = fopen("account.csv", "r"); 3 while($data = fgetcsv($fp, 10000)){ 4 foreach($data as $row){ 5 $result = explode(',', $row); 6 var_dump($result); 7 } 8 } 9 10?> 11<!DOCTYPE html> 12<html lang="ja" dir="ltr"> 13 <head> 14 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> 15 <title></title> 16 </head> 17 <body> 18 <h1>アカウント</h1> 19 <?php foreach($result as $row){ ?> 20 <input type="text" name="id" value="<?= print $row[0] ?>"> 21 <input type="text" name="name" value="<?= print $row[1]?>"> 22 <input type="text" name="email" value="<?= print $row[2]?>"> 23 <input type="textarea" name="contents" value="<?= print $row[3]?>"><br> 24 <?php } ?> 25 </body> 26</html>
csv
11,Mike,Mike@gmail.com,hello 22,Tom,Tom@gmail.com,hello 33,Brian,Brian@gmail.com,hello
お手数ですが、エラーが起こっている部分などの改善策を教えていただけると幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/25 16:21