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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Parcourir et charger un fichier csv dans une table mysql


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 27
    Points : 42
    Points
    42
    Par défaut Parcourir et charger un fichier csv dans une table mysql
    Je cherche le code d'un formulaire pour parcourir un fichier csv et le charger dans une table de ma basr de donnée mysql.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,
    Première recherche sur le forum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $nom_fichier1=le_nom_de_ton_fichier;
    $commande="mysql -u root -TONPASS -e 'LOAD DATA LOCAL INFILE \"/TONCHEMIN/".$nom_fichier1."\" INTO TABLE TA_TABLE FIELDS TERMINATED BY \";\" IGNORE 1 LINES (CHAMP1,CHAMP2,...,CHAMP_N)' TA_BDD;";
    exec($commande);

  3. #3
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Liens vers quelques discussions correspondantes :
    Importer un fichier csv --> LOAD DATA INFILE
    Importer des données .CSV
    Fonction LOAD DATA INFILE avec un fichier source csv

    Au cas où l'exemple de MaitrePylos ne soit pas suffisant...

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 27
    Points : 42
    Points
    42
    Par défaut Parcourir fichier csv
    Dans mon cas je ne veux pad fixer le nom de fichier je veux que l'utilisateur charge le fichier de son choix de type csv (parcourir le fichier puis le charger) .

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    C'est pas plus compliqué .

    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
     
     $fichier = $_FILE['fichier'];
     
    //Vérification que tout le fichier correspond à ce que l'on veut
     
    ......
     
     
     //lecture du fichier
     
    $lecture = file($_FILE['fichier']['name'];
     
    foreach($lecture as $v)
    {
     
       echo $v .'<br />';
     
    }
     
    //enregistrement du fichier
     
    $commande="mysql -u root -TONPASS -e 'LOAD DATA LOCAL INFILE \"/TONCHEMIN/".$fichier."\" INTO TABLE TA_TABLE FIELDS TERMINATED BY \";\" IGNORE 1 LINES (CHAMP1,CHAMP2,...,CHAMP_N)' TA_BDD;";
    exec($commande);

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 27
    Points : 42
    Points
    42
    Par défaut
    bonjour,

    j'ai trouvé cette exemple mais j'ai un problème j'ai toujours ce message "Notice: Undefined index: fichier in C:\Users\samouh\deplacement\chargement1.php on line 27
    Ce n'est pas un fichier de type .csv" même si le chargement passe bien

    voila mon code
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <html> 
    <head> 
    <title>Importer un fichier texte dans une bdd MySQL</title> 
    </head> 
    <body> 
     
    <form enctype="multipart/form-data" action="chargement1.php" method="post">
      <p>Vous pouvez IMPORTER UNE LISTE issue d'un fichier au format CSV</p>
       <p>
         <input name="fichier" type="file" id="fichier" value="table.csv"   />
      </p>
       <p><input type="submit"  name="go" value="Envoyez le fichier" /></p>
    </form>
    <?php
    // CONNEXION à la base //
    require_once('Connections/depalcement.php');
     
     
    //require_once('../connections/joomla1.php');
     
    // RECUPERATION CODE_CLASSE
     
    //}
     
    // UPLOAD DU FICHIER CSV, vérification et insertion en BASE
    if($_FILES["fichier"]["type"] != "application/vnd.ms-excel"){
     
    			die("Ce n'est pas un fichier de type .csv");
    }
     
    elseif(is_uploaded_file($_FILES["fichier"]["tmp_name"])){
    mysql_select_db($database_depalcement, $depalcement);
     
    	//Process the CSV file
    	$handle = fopen($_FILES["fichier"]["tmp_name"], "r");
    	$data = fgetcsv($handle, 1000, ";"); //Remove if CSV file does not have column headings
    	while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
    		$att0 = mysql_real_escape_string($data[0]);
    		$att1 = mysql_real_escape_string($data[1]);
    	//	$att2 = mysql_real_escape_string($data[2]);
    	//	$att3 = mysql_real_escape_string($data[3]);
     
    		$sql = "INSERT INTO test (NOM, PRENOM)
    					VALUES ( '" . $att0 . "', '" . $att1 . "')";
    		mysql_query($sql);
    	}
     
    	header('Location: chargement1.php');
     
    }
    else{
    	die("Vous ne devriez pas être là");
    }
     
    mysql_close();
    ?>
     
    </body> 
    </html>

Discussions similaires

  1. [PDO] Charger un fichier csv dans une base de données en utilisant PDO
    Par soussou1010 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/07/2014, 14h36
  2. Importer un fichier CSV dans une table mySQL
    Par crazydiver_e2 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/01/2007, 10h47
  3. Impossible d'importer un fichier csv dans une table sous MySQL
    Par manue85 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 20/04/2006, 12h06
  4. PHP5: charger des fichiers textes dans une base MYSQL
    Par koueletbak dans le forum Requêtes
    Réponses: 4
    Dernier message: 23/03/2006, 11h14

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