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 :

import fichier csv dans mysql avec phpadmin


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 11
    Points
    11
    Par défaut import fichier csv dans mysql avec phpadmin
    Bonjour
    alors ma question est; comment importer un fichier csv dans la base de donnée mysql par phpadmin, j'ai vu sur plusieurs forum la solution est de crée deux fichier php formulaire et insertion. mais bien méme avec le code je sais pas trop comment faire, si vous pouvez m'aider ça serait bien.
    alors voici la reponse que j'ai trouvé:
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    voici ma proposition en php
    formulaire
    <form method="post" enctype="multipart/form-data" action="import_requete_communes.php">
    <table width="628" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
    <tr>
    <td width="500"><font size=3><b>Selectionner votre fichier *.csv :</b></font></td>
    <td width="244" align="center"><input type="file" name="userfile" value="userfile"></td>
    <td width="137" align="center">
    <input type="submit" value="Envoyer" name="envoyer">
    </td>
    </tr>
    </table>
    </form>
     
    récupération en php
     
    <?php
    // vérification sur la session authentification (la session est elle enregistrée ?)
    // ici les éventuelles actions en cas de réussite de la connexion
    require_once('connect.php');
    $sql=mysql_query("DELETE FROM commmunes");
     
    //=========================
    // Traitement des donnees
    //=========================
     
    //recupere le nom du fichier indiqué par l'user
    $fichier=$_FILES["userfile"]["name"];
     
    // ouverture du fichier en lecture
    if ($fichier)
    {
    //ouverture du fichier temporaire
    $fp = fopen ($_FILES["userfile"]["tmp_name"], "r");
    }
    else{
    // fichier inconnu
    ?>
    <p align="center" >- Importation échouée -</p>
    <p align="center" ><B>Désolé, mais vous n'avez pas spécifié de chemin valide ...</B></p>
    <?php
    exit();
    }
    // declaration de la variable "cpt" qui permettra de conpter le nombre d'enregistrement réalisé
    $cpt=0;
    ?>
    <p align="center">- Importation Réussie -</p>
     
    <p align="right"><a href="#bas">Bas de page</a></p>
     
    <?php
    // importation
    while (!feof($fp))
    {
    $ligne = fgets($fp,4096);
    // on crée un tableau des élements séparés par des points virgule
    $liste = explode(";",$ligne);
    // premier élément
    $liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
    $liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
    $liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
     
     
     
    $champs1=$liste[0];
    $champs2=$liste[1];
    $champs3=$liste[2];
     
    // pour eviter qu un champs "nom" du fichier soit vide
    if ($champs1!='')
    {
    // nouvel ajout, compteur incrémenté
    $cpt++;
    // requete et insertion ligne par ligne
    // champs1 id en general dc on affecte pas de valeur
     
    mysql_query("INSERT INTO communes(dep, com, nomcom) VALUES('$champs1','$champs2','$champs3' )");
     
    $dep="dep";
    mysql_query("DELETE FROM communes WHERE (dep='$dep')");
     
     
     
    ?>
    <table width="505" border="1" align="center" cellpadding="0" cellspacing="0" bgcolor="#eeeeee">
    <tr>
    <td width="124">Eléments importés :</td>
    <td width="361"><?php echo $liste[0];?></td>
    <td width="361"><?php echo $liste[1];?></td>
     
    </tr>
    </table>
    <?php
    }
    }
     
    // fermeture du fichier
    fclose($fp);
    //on supprime la derniere car elle est vide
     
     
    //==================
    // FIN
    //==================
    ?>
    <br><br>Nombre de valeurs nouvellement enregistrées: <b><?php echo $cpt;?></b>.<br><br>
     
     
    <a name="bas"></a>
    <p align="right"><a href="#haut">Haut de page</a></p><br>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne comprends pas bien, tu veux le faire par phpmyadmin ou par ta propre interface ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    je veux le faire c tout peu importe comment.
    bon avec la methode du formulaire il faut bien que je crée la table d'abord c'est ça, avec tout les champs aussi n'est ce pas?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Utilise plutot l'import de phpmyadmin alors.
    Il faut créer la table avant également par contre.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    l'insertion se fait que pour les fichier texte avec phpadmin donc je vois pas trop comment

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut faire l'import depuis l'interface de la table.

Discussions similaires

  1. [MySQL] Importation d'un fichier csv dans mysql
    Par runcafre91 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/12/2009, 20h55
  2. [phpMyAdmin] Importer une fichier Excel dans MySQL
    Par fraisa1985 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 11/07/2008, 14h56
  3. Import de fichier CSV dans Mysql
    Par xianxian620 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/05/2008, 10h06
  4. Réponses: 1
    Dernier message: 29/04/2008, 12h54
  5. probleme avec un import fichier texte dans mysql
    Par xodeax dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/07/2006, 13h24

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