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] Fichier CSV vers phpMyAdmin


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut [CSV] Fichier CSV vers phpMyAdmin
    Bonjour, je souhaiterais envoyer les données de mon fichier csv vers ma base de donnée.
    Voici le csv : marseille.csv

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    "Unique ID","Name","Club","Position","Age","Cur A","Pot A"
    "8449646","Abbes, Samir","1","D/WB R","16","65","103"
    "5101854","Aliadière, Jérémie","1","ST","23","130","153"
    "8439527","Amiri, Mareck","1","D LC","19","90","112"
    "8449648","Aravecchia, Mickaël","1","AM R","16","65","101"
    "8442448","Ayew, André","1","AM C","16","76","111"
    "34010721","Ayew, Jordan","1","ST","14","60","94"
    "8427375","Ba, Khalifa","1","D RC","20","108","110"
    voila la base de donnée :

    Code X : 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
    -- phpMyAdmin SQL Dump
    -- version 2.6.1
    -- http://www.phpmyadmin.net
    -- 
    -- Serveur: localhost
    -- Généré le : Jeudi 12 Avril 2007 à 09:48
    -- Version du serveur: 4.1.9
    -- Version de PHP: 4.3.10
    -- 
    -- Base de données: `bigboss`
    -- 
    
    -- --------------------------------------------------------
    
    -- 
    -- Structure de la table `joueur_equipe`
    -- 
    
    CREATE TABLE `joueur_equipe` (
      `id_joueur_equipe` int(10) NOT NULL default '0',
      `nom_joueur_equipe` varchar(50) NOT NULL default '',
      `id_equipe` int(3) NOT NULL default '0',
      `position_joueur_equipe` varchar(50) NOT NULL default '',
      `age_joueur_equipe` int(3) NOT NULL default '0',
      `abi_joueur_equipe` int(3) NOT NULL default '0',
      `pot_joueur_equipe` int(3) NOT NULL default '0',
      PRIMARY KEY  (`id_joueur_equipe`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    
    -- 
    -- Contenu de la table `joueur_equipe`
    --

    Donc je voudrais passer le fichier csv dans ma base de donnée. Premier code.

    L'idéal serait de le passer via un formulaire. qui permet de choisir le fichier et de l'envoyer vers la base de donnée : 2 éme code.

  2. #2
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Points : 99
    Points
    99
    Par défaut
    Bonjour , j'ai réaliser pareil il y à peut :
    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
     
    $fichier = /chemin/de/ton/fichier.csv
    	//Ouvrir le fichier en mode lecture
    	$myfile = fopen($fichier , "r");
     
    	while(!feof($myfile))
    	{
    		//Lire le fichier
    		$ligne = fgets($myfile, 4096);
    		// on crée un tableau des élements séparés par des points virgule
    		$liste = explode(";",$ligne); 
    		// éléments qui composent le .csv
    		$liste[1]  = ( isset($liste[1]) ) ? $liste[1] : Null;
    		$liste[2]  = ( isset($liste[2]) ) ? $liste[2] : Null;
     
    		$ta_var=$liste[0]; 
    		$ta_var2=$liste[1];
     
    //Requete d'insertion
    Insert into Nom_table (col1,col2,col3) Values (var1,var2,var3);
    Voila les grandes lignes .
    Renseigne toi sur explode(";",$ligne) qui s'occupe de faire tout , tout seul.
    explode

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    J'ai cherché de mon coté aussi voila le code : j'ai mis les 2 que j'ai pu 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
    <?
    $connect = mysql_connect("localhost","root","");
    mysql_select_db("bigboss",$connect);
    ?>
    <table>
    <?
    $fp = fopen('csv/marseille.csv','r');
    while (!feof($fp)) {
    $line = fgetcsv($fp, 4096);
    if ($line != "") {
    echo '<tr><td>';
    echo implode('</td><td>',$line);
    echo '</td></tr>';}
    }
    fclose($fp);
    ?>
    </table>
    <br />
    <?
     
    $fichier = "csv/marseille.csv";
    $fic = fopen($fichier, 'rb');
     
    echo "<table border='1'>\n";
    for ($ligne = fgetcsv($fic, 4096); !feof($fic); $ligne = fgetcsv($fic, 4096)) {
      echo "<tr>";
      $j = sizeof($ligne);
      for ($i = 0; $i < $j; $i++) {
        echo "<td>$ligne[$i]</td>";
        }
      echo "</tr>";
      }
    echo "</table>\n";
     
    ?>
    La je veux faire juste de l'affichage pour voir si çà marche bien aprés le mettre dans la base de donnée.


    cependant le résultat n'est pas escompté çà donne çà :

    ÿþ"�8�4�4�9�6�4�6�"� "�A�b�b�e�s� S�a�m�i�r�"� "�1�"� "�D�/�W�B� �R�"� "�1�6�"� "�6�5�"� "�1�0�3�"� �
    "�5�1�0�1�8�5�4�"� "�A�l�i�a�d�i�è�r�e� J�é�r�é�m�i�e�"� "�1�"� "�S�T�"� "�2�3�"� "�1�3�0�"� "�1�5�3�"� �
    "�8�4�3�9�5�2�7�"� "�A�m�i�r�i� M�a�r�e�c�k�"� "�1�"� "�D� �L�C�"� "�1�9�"� "�9�0�"� "�1�1�2�"� �
    "�8�4�4�9�6�4�8�"� "�A�r�a�v�e�c�c�h�i�a� M�i�c�k�a�ë�l�"� "�1�"� "�A�M� �R�"� "�1�6�"� "�6�5�"� "�1�0�1�"� �
    "�8�4�4�2�4�4�8�"� "�A�y�e�w� A�n�d�r�é�"� "�1�"� "�A�M� �C�"� "�1�6�"� "�7�6�"� "�1�1�1�"� �
    "�3�4�0�1�0�7�2�1�"� "�A�y�e�w� J�o�r�d�a�n�"� "�1�"� "�S�T�"� "�1�4�"� "�6�0�"� "�9�4�"� �
    "�8�4�2�7�3�7�5�"� "�B�a� K�h�a�l�i�f�a�"� "�1�"� "�D� �R�C�"� "�2�0�"� "�1�0�8�"� "�1�1�0�"�

    Et je sais pas, pourquoi il me mets les caractéres : �.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    Merci javaboy, pour ta réponse, je suis entrain de le tester mais j'ai l'impression que çà va me donner le meme résultat avec ?. Mais je teste et je tiens au courant.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    je pense que c'est un probleme de codage utf8 et utf16 un truc comme çà , par contre là je suis complétement dépassé.

    Je tiens à preciser que le fichier csv est automatiquement généré par un logiciel se nommant fm genie scout.

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Va voir là, ça t'évitera pas mal de lignes de code :
    http://dev.mysql.com/doc/refman/5.0/fr/load-data.html

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 46
    Points : 26
    Points
    26
    Par défaut
    merci. mais j'avais vu çà , mais çà resolu pas mes problemes, j'ai regarder avec un editeur hexadecimal , a chaque aprés il mets un caracteres chelou.

Discussions similaires

  1. [AC-2010] Importation Fichier.csv MS Excel vers Access en vba
    Par Dixies dans le forum IHM
    Réponses: 12
    Dernier message: 24/09/2014, 00h42
  2. [XL-2010] Fichier CSV en virgule vers point virgule
    Par Dolchan dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/07/2012, 14h15
  3. Réponses: 1
    Dernier message: 29/04/2008, 12h54
  4. [CSV] Fichier CSV en PHP
    Par rimeh dans le forum Langage
    Réponses: 1
    Dernier message: 11/01/2007, 12h01
  5. [CSV] Fichier CSV
    Par clairette dans le forum Langage
    Réponses: 5
    Dernier message: 16/05/2006, 17h33

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