2016-04-24 21 views
-2

PHPを使用して、インフォプロテクションをCSVファイルから取得するページを作成しようとしています。 これで、製品リストに情報を入力する必要があります。PHPでCSVファイルのデータを読む

これは、CSVファイルで次のように CSV file image

私が持っているコードは次のようになります。これは、現在のアレイの全体を

$file = file('data-example.csv'); 
$line = array("name", "id","price", "description"); 
foreach($file as $line) { 
    $csv = explode('//',$line); 
    $item = $csv; 
    print_r($item); 

プリントアウトされます。配列上の個々のノードにどのようにアクセスしてHTMLテーブル内の変数として含めることができるかを知りたい。

おかげ アリ

が増幅、および応答に対応するために(感謝!):これは、動作しているようです

if (($handle = fopen("data.csv", "r")) !== FALSE) { 
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
    echo($data[1][1]);   
} 
fclose($handle); 
} 

が、列を返します。 これはfgetcsvを使用して、改正のコードです内容

"Dandelion","30","13.99","Dandelion 30 " 
"Daisy","40","20.99","Daisy 40 " 
"Cress","27","10.99","Cress 27 " 
"Coral","17","6.99","Coral 17 ", 
"Honeysuckle","40","17.99","Honeysuckle 40 " 
"Rose","27","9.99","Rose 27" 

」 (改行はタンポポ、デイジー、クレス、珊瑚、ハニーサックルローズにあります)

私はecho($data[1]);をしようとすると、それは全体の列を取得します。これは、データ(data.csv)であります説明するように、 "342142" 30 40 27 17 40 27しかしecho($data[1][1]);戻り、すなわち、およびecho($data[1][1][1]);がエラーを生成します。これは配列であるよう が、私はそれを理解していない?

おかげ アリ

+0

実際の文章は、写真ではなくファイルから投稿してください。 –

+0

PHPにはCSVを読むためのネイティブ関数があります。 – Thamilan

+0

csvファイルの行の配列を返すfgetcsv()関数を使用します。 –

答えて

0

あなたは何かのようなstr_getcsv

として、CSVファイルを読み込むためにネイティブPHPの関数を使用する必要があります。

$Data = str_getcsv($CsvString, "\n"); //parse the rows 
foreach($Data as &$Row){ 
    $Row = str_getcsv($Row, ";"); //parse the items in rows 
} 

また、あなたがそれをCSV形式のフィールドに読み込み、行を解析fgetcsvを使用することができますし、読み込まれたフィールドを含む配列を返します。

<?php 
$row = 1; 
if (($handle = fopen("test.csv", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 
?>