Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Import csv che non popola correttamente

    Salve ho un file che importa csv in mysql

    con questo script

    codice:
    if ($_FILES[csv][size] > 0) { 
    
    
        //get the csv file 
        $file = $_FILES[csv][tmp_name]; 
        $handle = fopen($file,"r"); 
         
        //loop through the csv file and insert into database 
        do { 
            if ($data[0]) { 
                mysql_query("INSERT INTO report_incassi2 (protocollo_inc, tipo_inc, data_inc, importo_inc, motivazione_inc) VALUES 
                    ( 
                        '".addslashes($data[0])."', 
                        '".addslashes($data[1])."', 
                '".addslashes($data[2])."', 
                '".addslashes($data[3])."', 
                        '".addslashes($data[4])."' 
                    ) 
                "); 
            } 
        } while ($data = fgetcsv($handle,1000,";","'")); 
        // 
    
    
        //redirect 
        header('Location: importcsv.php?success=1'); die; 
    
    
    } 
    
    
    ?>


    e ho un csv che ha i record così formati
    protocollo_inc;tipo_inc;data_inc;importo_inc;motiv azione_inc
    76;;03/01/14;413;
    2406;;07/01/14;416.67;


    e per quanto concerne il caricamento.. carica i dati.. ma li carica in campi sbagliati e tutti sfasati... come da allegato


    sapreste aiutarmi??

    Grazie Mille
    Immagini allegate Immagini allegate
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Puoi postare alcune righe del file csv ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Puoi postare alcune righe del file csv ?
    76;;03/01/14;413;a;
    2406;;07/01/14;416.67;;
    734;;07/01/14;416.67;;
    L'intuizione creativa più di ogni altra cosa è l'unico elemento per cui la vita vale la pena di essere vissuta (D.W)

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ho la sensazione che non stia gestendo bene gli a capo
    invece di fare la insert nel db, stampa semplicemente a schermo la query ad ogni giro e controlla bene i dati che stai cercando di inserire

  5. #5
    Ma il tuo script ti funziona ? A me pare strana la struttura.. la prima esecuzione del do{ }
    comporta che tutti i campi $data[] siano inesistenti perchè non valorizzati. Infatti usi un if inutile.
    Perchè usare un do-while invece di un semplice while ?
    Altra cosa:
    [PHP] fgetcsv($handle,1000,";","'") [PHP]
    puoi riparmiarti di indicare il " ' " come enclosure delle stringhe

    P.s. Il formato di origine conta. Da dove proviene il csv ? Creato da un mac ? Da excel ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.