• User Attivo

    Import da File CSV

    Ciao a tutti, devo fare un import su database MySql uplodando un file di testo CSV.
    Ho seguito la pillola presente e devo dire che è andato tutto bene...
    Piccoli dubbi.

    • Devo iniziare ad importare dalla terza riga perchè le prime due sono di intestazione...come si fa?
    • Il mio file è di questo tipo:
    Codice;Nominativo;Data Nascita;Sex
    COD-000090;PINCO PALLINO;04/02/2009;M
    COD-000091;TIZIO CAIO PALLINO;04/02/2009;M
    
    ```Il nominativo contiene Cognome e Nome ed io devo inserirli in modo separato sul DB. Come faccio a dirgli di inserire il cognome nel cognome ed il nome nel nome?
    Se un cognome è formato da più parole?
    Se un nome è formato da più parole?
    Graxie!!!!

  • Consiglio Direttivo

    Ciao talkoman. 🙂
    @talkoman said:

    • Devo iniziare ad importare dalla terza riga perchè le prime due sono di intestazione...come si fa?
      Saltando le righe di intestazione, semplicemente dirai allo script di non ciclare le righe di intestazione (che dovrebbe essere solo una se non erro)
      @talkoman said:
      Il nominativo contiene Cognome e Nome ed io devo inserirli in modo separato sul DB. Come faccio a dirgli di inserire il cognome nel cognome ed il nome nel nome?
      Se un cognome è formato da più parole?
      Se un nome è formato da più parole?
      Non c'è modo ahimé, come puoi far riconoscere ad un programma qual'è il nome e qual'è il cognome? Per lui quello è solo ed esclusivamente testo. 😉
      L'unica è spezzare il campo al primo spazio che incontri, non puoi far altro. 😉

    Al limite puoi mettere un controllo che se son presenti più spazi (quindi o un cognome composto o più nomi) in quel pezzo di stringa te li mette in un array che poi ti stampi a video per fare la modifica manualmente. 😉


  • User Attivo

    Allora mi sa che adatto il database per salvare il nominativo come unico campo.....
    E per estrarre dalla 2^ riga in poi? senza l'intestazione?
    Io importo così:
    [PHP]if($file=fopen("atleti.txt","r")){
    while (!feof($file)){
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=explode(";",$riga);//Taglio la stringa nel punto in cui è presente il carattere -
    [/PHP]

    Come salto le N righe che non mi interessano?
    Grazie!


  • User

    Ciao,

    credo che basti eseguire questo codice
    $riga=fgets($file,255)
    per il numero di righe che vuoi "skippare"

    ciao ciao


  • User Attivo

    Scusa ma non ho capito bene....


  • User

    Allora se il codice seguente legge una riga e poi la splitta

    while (!feof($file)){
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=explode(";",$riga);//Taglio la stringa nel punto in cui è presente il carattere -
    ...

    Una cosa del genere:

    while (!feof($file)){
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=explode(";",$riga);//Taglio la stringa nel punto in cui è presente il carattere -
    .....

    Dovrebbe leggere la 1^ riga poi la 2^ ed iniziare a splittare dalla terza.

    Facci sapere.

    Ciao ciao.


  • User Attivo

    Così facendo mi legge una riga ogni tre......
    Altra soluzione?


  • User

    Beh ..che dire :lipssealed: ...non mi resta altro che :arrabbiato: ho scritto una bella stupidaggine....

    Proviamo con questa:
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile

    while (!feof($file)){
    $riga=fgets($file,255);//Leggo una riga intera del file e la inserisco in una variabile
    $riga=explode(";",$riga);//Taglio la stringa nel punto in cui è presente il carattere -

    Spero di non averne scritta un'altra. :gtsad:

    Ciao ciao.


  • User Attivo

    Ok ora sembra andare tutto per il verso giusto...
    Come faccio a far in modo che durante l'importazione compaia una gif animata con una pseudo "progress bar"?


  • User Attivo

    nada??


  • User Attivo

    Ma la riga deve terminare con ; ?
    Graxie!!!