IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[CSV] importer un fichier CSV


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut [CSV] importer un fichier CSV
    Bonjour à tous,
    voila j'ai un probleme, j'essai d'importer un fichier csv et extraire les données dans une base de données mysql.
    Voici mon code

    le fichier index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <form method="post" action="test.php" enctype='multipart/form-data'>
         Pour ajouter ton serveur il suffit de remplir ce formulaire 
         <table width="357" border="0" cellpadding="3" cellspacing="0">
           <!--DWLayoutTable-->
          <tr>
           <td height="28">Fichier :</td> 
           <td colspan="2" valign="top"> <input type="file" name="fichier"> </td> 
           </tr>
          <tr>
            <td></td>  
           <td width="144"> <input type="submit" name="submit" value="Charger !"> </td> 
           <td width="109"></td>
          </tr>
         </table>
        </form>

    le fichier test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
    include('connexion.php');
     $fichier=$_FILES['fichier']['name'];
     $fichier=$_FILES['fichier']['tmp_name'];
        $fp = fopen("$fichier","r"); 
     
        while (!feof($fp)){
        $ligne = fgets($fp,4096);
     
         $separateur=";";
         $ligne = fgets($fp,4096);
         $liste = explode("$separateur", "$ligne");
     
         $responsable = $liste[0]; 
         $societe = $liste[1]; 
         $nom = $liste[2]; 
         $prenom = $liste[3]; 
         $fonction = $liste[4]; 
         $telephone = $liste[5]; 
         $fax = $liste[6];       
         $email = $liste[7];              
         $date = date("d-m-Y");
     
    $query = "insert into teet(responsable,societe,nom,prenom,fonction,telephone,fax,email,date) values('$responsable','$societe','$nom','$prenom','$fonction','$telephone','$fax','$email','$date')"; 
    $result= mysql_query($query); 
     
           if(mysql_error()){ 
               print "Erreur dans la base de données : ".mysql_error();
               print "<br>Importation stoppée.";
               exit();
            } 
           else 
             print "Bien <br>";
         } 
     
         echo "<br>Importation terminée, avec succès."; 
       fclose($fp);
    ?>
    merci d'avance

  2. #2
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Quelle est l'erreur générée?

  3. #3
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    je vois des champs vide sur la base de données, pas de contenu

  4. #4
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    un var_dump($liste) donne quoi?

  5. #5
    Membre habitué Avatar de Akramweb
    Homme Profil pro
    Webmaster
    Inscrit en
    Avril 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2005
    Messages : 227
    Points : 197
    Points
    197
    Par défaut
    Voici le code modifié :
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <form method="post" action="test.php" enctype='multipart/form-data'>
         Pour ajouter ton serveur il suffit de remplir ce formulaire 
         <table width="357" border="0" cellpadding="3" cellspacing="0">
           <!--DWLayoutTable-->
          <tr>
           <td height="28">Fichier :</td> 
           <td colspan="2" valign="top"> <input type="file" name="fichier"> </td> 
           </tr>
          <tr>
            <td></td>  
           <td width="144"> <input type="submit" name="submit" value="Charger !"> </td> 
           <td width="109"></td>
          </tr>
         </table>
        </form>
    test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <?php
    include('connexion.php');
     $fichier=$_FILES['fichier']['name'];
     $fichier=$_FILES['fichier']['tmp_name']; 
     
        $fp = fopen("$fichier","r"); 
     
        while (!feof($fp)){
     
         $separateur=";";
         $ligne = fgets($fp,4096);
         $liste = explode("$separateur", "$ligne");
         //$liste = explode( ";",$ligne);  
        //echo var_dump($liste);
     
     
         $responsable = $liste[0]; 
         $societe = $liste[1]; 
         $nom = $liste[2]; 
         $prenom = $liste[3]; 
         $fonction = $liste[4]; 
         $telephone = $liste[5]; 
         $fax = $liste[6];       
         $email = $liste[7];              
         $date = date("d-m-Y");
     
    $responsable=str_replace("'","`","$responsable");
    $societe=str_replace("'","`","$societe");
    $nom=str_replace("'","`","$nom");
    $prenom=str_replace("'","`","$prenom");
    $fonction=str_replace("'","`","$fonction");
    $telephone=str_replace("'","`","$telephone");
    $fax=str_replace("'","`","$fax");
    $email=str_replace("'","`","$email");
     
     
    $query = "insert into teet(responsable,societe,nom,prenom,fonction,telephone,fax,email,date) values('$responsable','$societe','$nom','$prenom','$fonction','$telephone','$fax','$email','$date')"; 
    $result= mysql_query($query); 
     
           if(mysql_error()){ 
               print "Erreur dans la base de données : ".mysql_error();
               print "<br>Importation stoppée.";
               exit();
            } 
           else 
             print "Bien <br>"; 
         } 
         echo "<br>Importation terminée, avec succès.";
       fclose($fp);
    ?>

  6. #6
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Est-ce déjà ?

    Sinon, je me permets de te suggérer d'utiliser les fonctions natives PHP pour le traitement de fichiers CSV, par exemple : http://php.net/fgetcsv

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Ventiler mon fichier .csv en plusieurs fichiers .csv
    Par X.e.N.o.N dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/07/2018, 05h11
  2. [CSV] Importer un fichier CSV ou OV2 dans une page PHP
    Par gpsevasion dans le forum Langage
    Réponses: 13
    Dernier message: 12/02/2009, 14h31
  3. [MySQL] [CSV] Importer un fichier csv
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/09/2007, 13h19
  4. Réponses: 3
    Dernier message: 11/06/2007, 11h20
  5. Réponses: 12
    Dernier message: 07/12/2005, 18h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo