Import TXT con campi a lunghezza fissa

spike87bar

Nuovo Utente
18 Set 2012
3
0
1
Ciao a tutti, ho un problemino con un import di un TXT a lunghezza fissa, della serie non sò neanche da dove iniziare :crying: :

Il caso è questo:

ho un tracciato in txt dove sono presenti i dati delimitati con lunghezza nota.

per esempio:

@@FE00003415362812403USA .....

sò che

@@ - TESTO (02).
CODICE FAMIGLIA - TESTO (09).
CODICE TERRITORIO ESTERO DI RESIDENZA - TESTO (03).
CODICE CONSOLATO DI RESIDENZA - TESTO (07).
PROVINCIA CONTEA - TESTO (28).
....

il fatto è che non saprei come inserirli in una tabella SQL precedentemente creata.

Vi ringrazio per la collaborazione.... =)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prima di risponderti (o almeno cercare) virrei una precisazione su quello che hai scritto
@@FE00003415362812403USA .....

@@ - TESTO (02).
CODICE FAMIGLIA - TESTO (09).
CODICE TERRITORIO ESTERO DI RESIDENZA - TESTO (03).
CODICE CONSOLATO DI RESIDENZA - TESTO (07).
PROVINCIA CONTEA - TESTO (28).
corrisponde a

testo=> @@ //ma queste ti servono nel db?
codice famiglia=> FE0000341
codice territorio estero di residenza=> 536
codice consolato di residenza=> 2812403
provincia contea=> USA ..... //di 28 caratteri

è così?

edit, dimenticavo
il txt è così a parte quello detto sopra
@@FE00003415362812403USA .....
@@PS00002333112022873FRA .....
@@TS12324567889555664SPA ..... eccetera
 
Ultima modifica:

spike87bar

Nuovo Utente
18 Set 2012
3
0
1
ciao
prima di risponderti (o almeno cercare) virrei una precisazione su quello che hai scritto

corrisponde a

testo=> @@ //ma queste ti servono nel db?
codice famiglia=> FE0000341
codice territorio estero di residenza=> 536
codice consolato di residenza=> 2812403
provincia contea=> USA ..... //di 28 caratteri

è così?

edit, dimenticavo
il txt è così a parte quello detto sopra
@@FE00003415362812403USA .....
@@PS00002333112022873FRA .....
@@TS12324567889555664SPA ..... eccetera


Ehila...=) a parte i caratteri @@ che potrei anche non importarli, il resto è tutto come hai indicato come pure tutte le righe successive... =)
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
quindi i caratteri @@ servono solo per dividere le parti giusto?
se è così prova (al massimo non funzia)
PHP:
<?php
$testo_iniziale="@@FE00003415362812403USA [email protected]@[email protected]@TS12324......";//qui metterai il tuo txt (come dovresti saperlo)
$testi=explode("@@",$testo_iniziale);
/*ottieni un array del tipo
$testi[0]="FE00........";
$testi[1]="PS00........";
$testi[2]="TS12........";
ecc........
*/
//poi se sai le varie lunghezze e a cosa si riferiscono le parti potresti costrurti un array
$lungo=array("cod_fam"=>9,"cod_ter"=>3,"cod_con"=>7,"prov_con"=>28);
$text_splitt=array();//array d'appoggio
//cicli l'array $testi
for($k=0; $k < count($testi); $k++){
	$partenza=0;//ad ogni ciclo di $k rparte da zero
	//
	foreach($lungo as $chiave => $lunghezza){
		$text_splitt[$k][$chiave]=substr($testi[$k],$partenza,$lunghezza);
		$partenza+=$lunghezza;//sposto la partenza
	}
}
/* ottieni un arrya del tipo
$text_splitt[0]['cod_fam'] => FE0000341
$text_splitt[0]['cod_ter'] => 536
$text_splitt[0]['cod_con'] => 62812403
$text_splitt[0]['prov_con'] => USA ...
$text_splitt[1]['cod_fam'] => PS00..
...
...
...
$text_splitt[2]['cod_fam'] => TS12324...
eccetera.....
*/
/* ****TEST DI PROVA**** */
for($k=0; $k < count($testi); $k++){
	echo "record id= ".($k+1)."<br>";
	foreach($text_splitt[$k] as $campo => $valore){
		echo "&nbsp;&nbsp;&nbsp;campo[$campo] => $valore<br>";
	}
	echo "<br>";
}
//se quanto ottieni è quello che vuoi farai l'insert nella tabella
?>
provalo e sappimi dire (qualche erroretto c'è scappato di sicuro)
l'unico problema è che devi essere SICURISSIMO della lunghezza dei vari spezzoni e che sia sempre la stessa per ciascun spezzone
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
eccolo qua l'erroretto, mi ero dimenticato che quando c'è un separatore (@@) anche all'inizio il primo elemento della'array è vuoto
per cui correggi i due for
PHP:
for($k=0; $k < count($testi); $k++){
in
PHP:
for($k=1; $k <= count($testi); $k++){
e di conseguenza (ma è solo una quisquiglia)
la riga
PHP:
echo "record id= ".($k+1)."<br>";
in
PHP:
echo "record id= $k<br>";

cioè l'array che ottieni è
$testi[0]="";
$testi[1]="FE00........";
$testi[2]="PS00........";
$testi[3]="TS12........";
.......
 
Ultima modifica:

spike87bar

Nuovo Utente
18 Set 2012
3
0
1
ciao
eccolo qua l'erroretto, mi ero dimenticato che quando c'è un separatore (@@) anche all'inizio il primo elemento della'array è vuoto
per cui correggi i due for
PHP:
for($k=0; $k < count($testi); $k++){
in
PHP:
for($k=1; $k <= count($testi); $k++){
e di conseguenza (ma è solo una quisquiglia)
la riga
PHP:
echo "record id= ".($k+1)."<br>";
in
PHP:
echo "record id= $k<br>";

cioè l'array che ottieni è
$testi[0]="";
$testi[1]="FE00........";
$testi[2]="PS00........";
$testi[3]="TS12........";
.......

Un genio a prescindere .... =) appena riesco la provo e ti faccio sapere... grazie mille!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Import Immagini piattaforma IONIC Sviluppo app per Android 0
L Import massivo di immagini in tabelle piattaforma IONIC Presentati al Forum 1
E [PHP] import dati PHP 8
C [MySQL] export tabelle - import tabelle MySQL 14
felino [Wordpress] Import post da un file sql custom WordPress 1
felino [Cerco / Retribuito] Prestashop: import prodotti e categorie da Virtumart Offerte e Richieste di Lavoro e/o Collaborazione 0
F Import URL css HTML e CSS 1
P Stored procedure import xml/json web API MySQL 0
E Problema import per aggiornamento PHP 0
A export import sqlite jQuery 7
T import classe java Java 0
borgo italia import/export mysql MySQL 2
A SUGAR CRM - problema import contatti da excel Database 0
maxnegri [Offro] lavoro per realizzazione script import esport csv PHP 0
maxnegri cerco programmatore php per un lavoro di integrazione import csv nel mio sito PHP 1
A problema con Import File text Database 0
G leggere file txt e stampare con php il contenuto a video PHP 7
Cosina mostrare contenuto da file txt PHP 2
B Da XML a TXT x4 XML 0
L Select Dinamiche...da txt? PHP 3
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
Cosina Invio messaggio a mailing list su file txt PHP 9
A aggiungere stringa all'inizio di ogni riga di un file txt PHP 3
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
Cosina [PHP] Cancellare una riga da un file txt in base alla data PHP 1
C [PHP] Pagina html che legge file txt PHP 41
A Da php a file txt PHP 5
Drago73 [Java] leggere/scrivere txt server Java 0
A [PHP] Prelievo dati da .txt PHP 12
spider81man Scrivere su file .txt da form php PHP 2
M [PHP] Filtro da TXT con collegamento ipertestuale PHP 13
K Script PHP per leggere array.txt Presentati al Forum 3
A [PHP] Visualizzazione righe (a capo) file .txt PHP 2
giannit [PHP] Creare pagina con collegamenti ipertestuali da file txt PHP 6
G sql.txt problemi nella creazione delle tabelle Database 0
manugonn [PHP] [HTML] SCRITTURA SU FILE TXT DA FORM PHP 11
J [Javascript] Lettura file di testo (.txt) Javascript 1
S [HTML] [robots.txt] Cos'è MJI2bot? HTML e CSS 1
Joker37 Generare file txt con php estraendo codice html. PHP 4
utente testo scorrevole html da file txt o xml HTML e CSS 6
localhost.nicola Includere file HTML/TXT su script php PHP 3
Trapano Leggere un file .txt dal fondo PHP 7
F robots.txt SEO e Posizionamento 8
I estrarre solo la p.iva e il range di pagine relativo da un file txt C/C++ 0
T sostituzione testo in un file txt. PHP 4
G Da file txt a tabella html PHP 11
B div riempito con testo collegato a esempio.txt o sincronizzazione tra div HTML e CSS 1
N [MAMP] Problemi con htaccess.txt Apache 0
otto9due Robots.txt mail di google per js e css bloccati SEO e Posizionamento 5
C dati form su file txt in locale Javascript 0

Discussioni simili