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] exporter des données d'un fichier CSV vers BD Mysql


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Août 2006
    Messages : 91
    Points : 74
    Points
    74
    Par défaut [CSV] exporter des données d'un fichier CSV vers BD Mysql
    Bonjour,

    je souhaite importer des données d'un fichier CSV vers une bd MySQL.
    J'ai écrit un script PHP malheureusement aucun enrégistrement se fait dans la BD lorsque j'éxécute mon script.

    Il est impossible d'uploader un fichier csv sur le forum de developpez.net alors je vous donne un lien sur lequel vs pourrez telecharger mon fichier csv dont je veux extraire les données: http://tresor.amast.org/export.csv
    Je vous fourni maintenant le script que j'utilise:
    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
    <?
    // table inventaire dans ma base avec 8 champs, id_inv(int 30), titre(varchar 100),auteur(varchar 50), date_creation(varchar 50),localisation(varchar 30),statut_admin(varchar 150),rep_img(text),techniques(varchar 30) .
    // ensuite grace à la fonction ci-dessous, j' insère le fichier qu'on a chargé sur // le serveur bien sur.
     
    //***************************************************
    // Lecture et insertion du fichier export.csv
    //**********************************************
     
    function LireFichier()
    {
     $sqllink=mysql_connect ("localhost","root","") or die ("Impossible de se connecter à la base de donnée");
     mysql_select_db("inventaire");
     
     $filename="export.csv"; // mettez le nom de votre fichier
    // ouverture du fichier 
    $fd = fopen( $filename, "r");
    //Tant qu'on est pas à la fin
     while (!feof($fd)) {
         // on lit le fichier
        $buffer = fgets($fd,1000);
         // on découpe la chaine lue dans un tableau
        $name=explode(",",$buffer);
    // on enlève les " (on peut faire un boucle for pour éviter les 7lignes)
        $name[0]=str_replace("\"","",$name[0]);//id_inv
    	//$name[0]= addslashes($name[0]);
        $name[1]=str_replace("\"","",$name[1]);//titre
    	//$name[1]= addslashes($name[1]);
    	$name[2]=str_replace("\"","",$name[2]);//auteur
    	//$name[2]= addslashes($name[2]);
    	$name[3]=str_replace("\"","",$name[3]);//date_creation
    	//$name[3]= addslashes($name[3]);
        $name[4]=str_replace("\"","",$name[4]);//localisation
    	//$name[4]= addslashes($name[4]);
    	$name[5]=str_replace("\"","",$name[5]);//statut_admin
    	//$name[5]= addslashes($name[5]);
    	$name[6]=str_replace("\"","",$name[6]);//rep_img
    	//$name[6]= addslashes($name[6]);
    	$name[7]=str_replace("\"","",$name[7]);//techniques
    	//$name[7]= addslashes($name[7]);
     
    	//echo $name[2]."<br/>";
    	// on insère les valeurs dans la base
    	mysql_query ("INSERT INTO inventorier(id_inv, titre, auteur, date_creation, localisation, statut_admin, rep_img, techniques) values ('".$name[0]."','".$name[1]."','".$name[2]."','".$name[3]."','".$name[4]."','".$name[5]."','".$name[6]."','".$name[7]."')",$sqllink) or die("impossible d'enrégistrer");
      }
      fclose ($fd);
    mysql_close($sqllink);  //On ferme la connexion à la base de données  
     
    }
     
     
    ?>

    Merci pour votre precieuse aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Ce que je faits c'est (quelque chose comme):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $pBase = "inventaire";
    if (!mysql_select_db ($pBase, $sqllink)) 
    {
    	print("Acces to the base ".$pBase." impossible\n");
    	print("<B>Message of MySQL :</B> " . mysql_error($sqllink));
    	$sqllink = false;
    }
    if($sqllink)
    {
    ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Points : 48
    Points
    48
    Par défaut erreur script
    à mon avis çà vient de mysql_select_db("inventaire"), il manque le paramètre de connexion.

Discussions similaires

  1. [PowerShell] Exporter des donnés d'un fichier CSV vers un autre
    Par Balrogard dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 13/12/2011, 09h19
  2. Réponses: 1
    Dernier message: 26/04/2008, 18h09
  3. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  4. Réponses: 1
    Dernier message: 14/05/2007, 14h52
  5. Exporter des données d'un requete SQL vers excel (csv)
    Par PrinceMaster77 dans le forum ASP
    Réponses: 9
    Dernier message: 08/10/2005, 22h28

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