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

PHP & Base de données Discussion :

insérer des donnée d'un fichier dans base mysql


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut insérer des donnée d'un fichier dans base mysql
    Bonjour,

    Bonjour, je voudrais récupérez des fichiers csv et introduire les données dans chacune de mes deux bases de données (mysql et pgsql).
    Un programme en php est necessaire.
    Avez vous des idées à me proposer car je ne vois pas comment.
    je ne vois pas comment lire le fichier choisi, puis introduir le contenu dans ma base de donnée mysql, le tout en php.

    Merci bien,

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    je vais te proposer quelques idées :

    1) ouverture du fichier et lecture ligne par ligne

    2) pour chaque ligne tu splittes ta ligne sur le caractère ";"
    (séparateur des fichiers csv)
    et tu récupères un tableau des différentes valeurs de la ligne

    ensuite il te faut quelque part la correspondance entre les champs de ta base de données et l'ordre dans le fichier csv

    3) tu fais un insert classique, tu insère dans les champs concernés tes valeurs dans l'ordre....

    4) tu passes à la ligne suivante et tu recommences (cf 2) et 3) ) jusqu'à la fin....

    5) tu fermes le fichier




    par contre si tu dois le faire qu'une seule fois essaye de regarder du coté des utilitaires du genre phpmyadmin qui permet d'exporter et d'importer en csv (si ça peut marcher dans le sens qui t'interesse)

  3. #3
    Membre actif Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Points : 246
    Points
    246
    Par défaut
    Bonjour,

    Je te propose un code qui dérive de la solution ci-dessus.

    Ce code est peut-être pas Optimal mais tu as le squelette principal de ce que tu veux :

    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
     
    <?php
    	if (file_exists("chemin\\Fichier.csv"))         
    	$myfile = fopen("chemin\\Fichier.csv","r");
    	else{echo "Opération impossible, contacter l'administrateur !";	exit();}
     
    	while (!feof($myfile))
    	{ 
    		$ligne = fgets($myfile,4096);	
    		$liste = explode(";",$ligne);
    		$tailleL = count($liste);					
    		$query = 'INSERT INTO table (champ1,champ2,champ3,champ4,champ5) VALUES (';							
    		for($i = 0 ;$i <= $tailleL - 1 ;$i++)
    		{
    			if($i < $tailleL - 1){$query.= '"'.$liste[$i].'",';}
    			else if($i = $tailleL - 1){$query.= '"'.$liste[$i].'"';}											
    		}
    	}
    		$query.= ')';		
    		$result= mysql_query($query);
    		fclose($myfile);
    		//Gestion des erreurs mysql à rajouter " or die ....."	
    ?>
    Cordialement

Discussions similaires

  1. [AC-2007] Insérer des données d'un fichier Excel dans et depuis Access
    Par Blado_sap dans le forum VBA Access
    Réponses: 9
    Dernier message: 25/01/2015, 18h57
  2. Insérer des données d'une table dans un tableau
    Par przvl dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 11/03/2009, 17h56
  3. [MySQL] Insérer des données d'une table dans une autre
    Par bailamos dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 01/01/2009, 12h12
  4. Réponses: 0
    Dernier message: 07/07/2008, 20h42
  5. [MySQL] Insérer des données d'un formulaire dans la base
    Par ciel65 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/01/2007, 09h39

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