2012-06-21 2 views
0

SQL Server로 csv 파일을 업로드하려고합니다.첫 번째 열만 가져 오는 Sql 테이블

<?php 

include "connection.php"; //Connect to Database 

$deleterecords = "TRUNCATE TABLE axioma_ordini"; //empty the table of its current records 
mysql_query($deleterecords); 

//Upload File 
if (isset($_POST['submit'])) { 
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) { 
     echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>"; 
     echo "<h2>Displaying contents:</h2>"; 
     readfile($_FILES['filename']['tmp_name']); 
    } 

    //Import uploaded file to Database 
    $handle = fopen($_FILES['filename']['tmp_name'], "r"); 

    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $import="INSERT into axioma_ordini(`id`, `Famiglia`, `Cod Cliente`, `Ragione Sociale`, Articolo, Descrizione, Tipo, `Valore Euro`, Valuta, `Valore in Valuta`, Cambio, `Mese Competenza`, Anno, `Cir Medio`, Giorni, Satellite, `Satellite per Risorsa`, NumeroDocumento, `Data Doc`, `Nome Nave`, `Modem S/N`, `Burst Fwd`, `Burst Rtn`, Condivisione, `Cir Fwd`, `Cir Rtn`, `Cir Tot`, Business, Tecnologia,`Data Scadenza Ordine`, Network, Transponder, Nazione) values('','$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]','$data[13]','$data[14]','$data[15]','$data[16]','$data[17]','$data[18]','$data[19]','$data[20]','$data[21]','$data[22]','$data[23]','$data[24]','$data[25]','$data[26]','$data[27]','$data[28]','$data[29]','$data[30]','$data[31]')"; 

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

    fclose($handle); 

    print "Import done"; 

    //view upload form 
}else { 

    print "Upload new csv by browsing to file and clicking on Upload<br />\n"; 

    print "<form enctype='multipart/form-data' action='upload.php' method='post'>"; 

    print "File name to import:<br />\n"; 

    print "<input size='50' type='file' name='filename'><br />\n"; 

    print "<input type='submit' name='submit' value='Upload'></form>"; 

} 

?> 

그것은 성공적으로 가져 오지만 첫 번째 열 ONY : 파밀리아 (및 ID 작품) 여기 내 코드입니다. 나머지는 가치가 없거나 0 값을가집니다. 가져 오려는 파일에 데이터가 있습니다. 또한 varchar 5 인 famiglia에서는 다음 열의 첫 번째 숫자를 사용합니다. 그래서, 대신에 비즈, 그것 apperas 비즈, 8 (8 다음 번호에서 첫 번째 숫자가되고).

문제가있는 위치를 아는 사람이 있습니까?

감사합니다.

+0

CSV에서 몇 줄을 첨부 할 수 있습니까? – dezso

답변

0

문제점을 발견했습니다. 그것은 틀린 구분 기호입니다 : 대신;

($ 데이터 있었어야했는데, ",")

($ 데이터 = fgetcsv ($ 핸들 1000 = fgetcsv ($ 핸들, 1000, ";")

아마 이것은 누군가에게 도움이됩니다 ...

관련 문제