2017-10-12 19 views
0

これはcsvデータをインポートするときに使用したコードですが、2行目からデータをインポートするにはどうすればよいですか?最初の行は列名自体であるので(ID,Student Name,Subject Code,Subject Name,Unit,Grade)mysqlデータベースに行2を開始するCSVデータをインポート

if (isset($_POST["submitgrade"])){ 
if ($_FILES["file"]["name"]){ 
    $filename = explode('.',$_FILES["file"]["name"]); 
    if ($filename[1] == 'csv') 
     $handle = fopen($_FILES["file"]["tmp_name"], "r"); 
    while ($data = fgetcsv($handle)) 
    { 
     $item1 = mysqli_real_escape_string($con, $data[0]); 
     $item2 = mysqli_real_escape_string($con, $data[1]); 
     $item3 = mysqli_real_escape_string($con, $data[2]); 
     $item4 = mysqli_real_escape_string($con, $data[3]); 
     $item5 = mysqli_real_escape_string($con, $data[4]); 
     $item6 = mysqli_real_escape_string($con, $data[5]); 
     $grade = "INSERT into subj (username,name,code,title,unit,grade) values ('$item1','$item2','$item3','$item4','$item5','$item6')"; 
     mysqli_query($con,$grade); 
    } 
    fclose($handle); 
    echo 'Upload Grade Success'; 
}} 

答えて

1

whileループは、CSVファイルを反復処理に一度の文$data = fgetcsv($handle)を書くために開始する前に。ループをそのまま開始します。ループは、CSVファイルの2行目から開始します。

+0

"(T_WHILE)in C:\ xampp \ htdocs \ veritas \ professor-portal.php 19行目に"予期せぬエラーが発生しました。 " – Lloyd

+0

上記の文の後にセミコロンを入れてください。 – shahsani

+0

ステートメントの後にセミコロンを忘れた可能性があります。 '$ data = fgetcsv($ handle);と書いてください。 – shahsani

0

簡単にアクセスできるようにカウンタと変数を追加することができます。 $ startAtLineはこの場合1行目から開始します。

<?php 
if (isset($_POST["submitgrade"])){ 
    if ($_FILES["file"]["name"]){ 

     //These two lines are added 
     $startAtLine = 0; 
     $counter = 0; 

     $filename = explode('.',$_FILES["file"]["name"]); 
     if ($filename[1] == 'csv') 
      $handle = fopen($_FILES["file"]["tmp_name"], "r"); 
     while ($data = fgetcsv($handle)) 
     { 
      if(++$counter<$startAtLine) 
       continue; 
      $item1 = mysqli_real_escape_string($con, $data[0]); 
      $item2 = mysqli_real_escape_string($con, $data[1]); 
      $item3 = mysqli_real_escape_string($con, $data[2]); 
      $item4 = mysqli_real_escape_string($con, $data[3]); 
      $item5 = mysqli_real_escape_string($con, $data[4]); 
      $item6 = mysqli_real_escape_string($con, $data[5]); 
      $grade = "INSERT into subj (username,name,code,title,unit,grade) values ('$item1','$item2','$item3','$item4','$item5','$item6')"; 
      mysqli_query($con,$grade); 
     } 
     fclose($handle); 
     echo 'Upload Grade Success'; 
    }} 
?> 
関連する問題