2016-11-08 7 views
2

私は、ユーザーがAsanaプロジェクトのエクスポートによって生成された.csvファイルを取り込み、特定の行を出力するようにインポートできるWebプロジェクトを作成中です。PHP - CSVファイルをアップロードして特定の行を印刷する

if (isset($_POST["submit"])) { 

    if (isset($_FILES["file"])) { 

     //error while uploading the file 
     if ($_FILES["file"]["error"] > 0) { 
      echo "Error: " . $_FILES["file"]["error"] . "<br />"; 
     } 

     else { 
      //error message if file already exists 
      if (file_exists("upload/" . $_FILES["file"]["name"])) { 
      echo $_FILES["file"]["name"] . " already exists. "; 
      } 

      else { 
      //Uploads file in the upload/ folder 
      $storagename = "uploaded_file.txt"; 
      move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $storagename); 
      echo "<strong>Stored in:</strong> " . "upload/" . $_FILES["file"]["name"] . "<br />"; 
      } 
     } 
     } else { 
      echo "No file selected <br />"; 
    } 
} 

し、データをダンプ::私は実際にファイルをインポートすることができています

$row = 1; 
if (($handle = fopen("upload/" . $storagename, "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num champs à la ligne $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 

そうでは、いくつかの特定の行を印刷するために、私はと思われる、この考え11、12、13 & 14行からデータを取る:

$kilometrage = $data[11]; 
$stationnement = $data[12]; 
$perdiem = $data[13]; 
$depenses = $data[14]; 

しかし悲しいことに、私はないですこれを理解することができます。

誰かがヒント/アイデア/ヒントを持っていますか?どんな助けでも大歓迎です。ありがとうございました!

+0

あなたのコードを試したときどうしましたか?あなたはそれをforループに入れて、4つの変数をエコーし​​ましたか? – Tim

+0

@Tim下記の回答をご覧ください! –

答えて

0

実際には、私は変数を設定しエコーすることでこれを理解しました。私はそれが最良の方法であるかどうかまだ分かりませんが、実際にはうまくいきます:

$row = 1; 
if (($handle = fopen("upload/" . $storagename, "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     $row++; 
$kilometrage = $data[11]; 
$stationnement = $data[12]; 
$perdiem = $data[13]; 
$depenses = $data[14]; 
     for ($c=0; $c < 1; $c++) { 
      echo "<table style='min-width:1000px;'><tbody><tr>"; 
      echo "<td style='width:25%'>" . $kilometrage . "</td>"; 
      echo "<td style='width:25%'>" . $stationnement . "</td>"; 
      echo "<td style='width:25%'>" . $perdiem . "</td>"; 
      echo "<td style='width:25%'>" . $depenses . "</td>"; 
      echo "</tr></tbody></table>"; 
     } 
    } 
    fclose($handle); 
} 
関連する問題