Partage
  • Partager sur Facebook
  • Partager sur Twitter

Import CSV PHP dans MysqL avec Form

    19 septembre 2017 à 14:19:54

    Bonjour, comme définit dans le titre je cherche à importer un csv depuis un form html dans mysql.

    Ceci Fonctionne à condition que le csv soit au même emplacement que le fichier d'import.

    Quelqu'un aurait il un moyen de résoudre le problème?

    Voici mon code : 

    <?php
    extract(filter_input_array(INPUT_POST));
    $fichier = $_FILES["userfile"]["name"];
    if ($fichier) {
        $fp = fopen($fichier, "r");
    } else {
        ?>
        <p align="center"> - Importation echouee</p>
        <p align="center"><b>Desole, mais vous n'avez pas specifie de chemin valide</b></p>
        <?php
        exit();
        $cpt = 0;
    }
    $cpt = 0;
    ?>    
    <p align="center"> - Importation reussie</p>
    <?php
    while (!feof($fp)) {
        $ligne = fgets($fp, 4096);
        $liste = explode(";", $ligne);
        $table = filter_input(INPUT_POST, 'userfile');
    
        $liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
        $liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
        $liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
        $liste[3] = ( isset($liste[3]) ) ? $liste[3] : Null;
        $liste[4] = ( isset($liste[4]) ) ? $liste[4] : Null;
        $liste[5] = ( isset($liste[5]) ) ? $liste[5] : Null;
        $liste[6] = ( isset($liste[6]) ) ? $liste[6] : Null;
    
        $champs1 = $liste[0];
        $champs2 = $liste[1];
        $champs3 = $liste[2];
        $champs4 = $liste[3];
        $champs5 = $liste[4];
        $champs6 = $liste[5];
        $champs7 = $liste[6];
    
        if ($champs1 != '') {
            $cpt++;
            $db = new PDO('mysql:host=localhost;dbname=bddtest', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
            $sql = $db->prepare("INSERT INTO itineraire (s_cle_itineraire, n_id_arc, sol, c_mod_col, d_debut_validite, d_fin_validite, s_code_secteur) VALUES (:s_cle_itineraire, :n_id_arc, :sol, :c_mod_col, :d_debut_validite, :d_fin_validite, :s_code_secteur)");
            $sql->bindParam(':s_cle_itineraire', $champs1);
            $sql->bindParam(':n_id_arc', $champs2);
            $sql->bindParam(':sol', $champs3);
            $sql->bindParam(':c_mod_col', $champs4);
            $sql->bindParam(':d_debut_validite', $champs5);
            $sql->bindParam(':d_fin_validite', $champs6);
            $sql->bindParam(':s_code_secteur', $champs7);
    
            $sql->execute();
        }
    }
    fclose($fp);
    ?>
    <h2>Nombres de valeurs nouvellement enregistrees</h2><b><?php echo $cpt; ?></b>
    

    Merci de votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter

    Import CSV PHP dans MysqL avec Form

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown