2009-02-23 156 views
3

我已經放在一起的腳本,將上傳一個CSV文件,然後提取數據到一個已經制作的表。我想這樣做,所以第一行(列標題)不會被插入到表中,但其餘的數據將會被插入到表中。如何刪除CSV文件中的第一行(coloumn頭文件)?

$fp = fopen($_SESSION['filename'],"r"); 


while (($data = fgetcsv($fp, 1000, ",")) !== FALSE) 

{ 
    $import="INSERT into csv_table(name,address,age) values('$data[0]','$data[1]','$data[2]')"; 

    mysql_query($import) or die(mysql_error()); 

} 

fclose($fp); 

這是我用來從csv文件中提取數據的代碼的一部分。

非常感謝您對這件事的任何幫助!

回答

11

只要把while循環之前下列閱讀的第一行:

fgetcsv($fp, 1000, ","); 

此後while環路與第二行,而不是開始。

+0

哦,你兩秒打我... – 2009-02-23 15:39:01

1

認真對待它。

在外部創建一個布爾標誌,並且在您進入循環而不是導入時使用if語句來切換它。

0

簡單地做一個空白,讀出這樣的:

$fp = fopen($_SESSION['filename'],"r"); 
$headerLine = true; 

while (($data = fgetcsv($fp, 1000, ",")) !== FALSE) 

{ 
     if($headerLine) { $headerLine = false; } 
     else { 
       $import="INSERT into csv_table(name,address,age) values('$data[0]','$data[1]','$data[2]')"; 

       mysql_query($import) or die(mysql_error()); 
     } 

} 

fclose($fp);