Importare file txt in database

intimoviro

Utente Attivo
18 Ago 2009
272
0
0
Salve ragazzi, ho un file di testo dove ogni colonna è delimitata da tab "|", e ogni record è separato uno per riga, ora volevo chiedervi come faccio a prelevare ogni record e i suoi dati ed inserirli in un database?
Ho questo script, ma bisogna avere un database con campi uguali ai dati relativi ai record, eccolo:

PHP:
$fcontents = file ('./file.txt');
for($i=0; $i<sizeof ($fcontents); $i++) {
   $line = trim($fcontents[$i]);
   $arr = explode("\t", $line);
   $sql = "insert into NOME_TABELLA values ('".
     implode("','", $arr) ."')";
   mysql_query($sql);
}
Però io ho bisogno che ad esempio la colonna uno corrisponde al codice, la colonna due corrisponde alla descrizione e così via...

Come posso fare?

Spero di essere stato abbastanza chiaro.

Grazie:)
 
Se ho capito bene la tabella ce l'hai già e ha già le giuste colonne, solo che sono in un ordine diverso da quello di lettura dei valori dal file di testo. In questo caso è sufficiente inserire dopo il nome della colonna, fra parentesi tonde, il nome delle colonne, nell'ordine con cui leggi i valori da file.
PHP:
$sql = "insert into NOME_TABELLA(nomecol1,nomecol2,...,nomecolN) values ('". 
     implode("','", $arr) ."')";
 
potresti anche inviare un comando di importazione con l'istruzione LOAD DATA:
PHP:
LOAD DATA INFILE '/cartella/file.txt' INTO TABLE nome_tb;
 

Discussioni simili