• User Newbie

    Script per aggiornare database leggendo un file di testo

    Salve,
    esiste un modo per aggiornare una tabella da un file di testo?

    In pratica ho un file di testo estratto da un programma gestionale e vorrei crere uno script che caricando il file mi aggiorni il database.
    Avete qualche consiglio?


  • User

    certamente.. se mi mostri una parte del file di testo e mi fai vedere se il formato è lineare con separatori, o se è un formato xml ti dico subito come fare.


  • User Newbie

    Grazie mille 🙂
    In pratica il file di testo è una cosa del genere
    70020;00043
    70022;00018
    70023;00007
    70025;00259
    70026;00003

    dove i numeri prima del punto e virgola corrispondono a un numero di tessera e quelli dopo il ; al totale dei punti raccolti e questi due dati mi basta inserirli in due colonne di una tabella del mio DB

    Grazie ancora!!


  • User

    // Leggi il file
    $fp=fopen("nomefile.txt","r");
    $data = fread($fp, filesize("nomefile.txt"));
    fclose($fp);

    //Dividi le righe
    $righe=explode("\n",$file);
    foreach($righe as $riga){
    //Per ogni riga dividi i campi
    $campi=explode(";",$riga);
    mysql_query("INSERT INTO tabella (colonna1,colonna2) VALUES (".$campi[0].",".$campi[1].")";
    }


  • User Newbie

    Grazie mille anche se un po' in ritardo 😊

    Ho provatolo script, ma non riesco a stampare i valori dell'array e non capisco come mai.

    Se provo a fare print_r ($righe); ottengo Array ( [0] => )

    Dove sbaglio?

    CI sono poi altri due problemi.

    • dovrei far girare questo script una volta al giorno
    • inoltre se ogni volta inserisco l'istruzione Insert, nel DB verranno duplicati i numeri di tessera, quindi mi viene l'istruzione update che però mi lascierebbe fuori le tessere nuove