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] Confusion sur caractères de séparation


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [CSV] Confusion sur caractères de séparation
    Bonjour a tous
    Je suis actuellement en stage et je dois mettre un fichier excel en mySQL, pour cela je passe par php.
    Le fichier excel est en .csv ce qui donne des lignes comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ;HP dc7700 Country Kit;I07-162;0;EUR;8407009;14-nov-07
    CNN73525K5;HP L1906 LCD Monitor;I07-163;175;EUR;8407619;15-nov-07
    Pour voir si php les lit bien je les met dans un tableau html en créant une case a chaque ;.
    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
     
    <?php
    $fichier = "monfichier.csv";
    $fic = fopen($fichier, 'rb');
    echo "<table border='1'>\n";
    for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024))
    {
        echo "<tr>";
        $j = sizeof($ligne);
        for ($i = 0; $i < $j; $i++)
            {
             $a=$ligne[$i];
             $x= strlen($a);
             echo"<th>";
             for ($o=0;$o<$x;$o++)
             {
             if ($a{$o}!=";")
             {
             echo $a{$o};
             }
             else echo"</th><th>";
             }
             echo"</th>";
            }
     
            echo "</tr>";
    }
            echo "</table>\n";
    ?>

    Mon probleme est que j'ai l'impression que php ne fais pas la difference entre les , et les ; car pour les chiffres a virgule il me créé une case
    Si quelqu'un a déja rencontré ce probleme ou sait d'ou cela pourait venir ce serait sympa de m'aider

    Bonne journée a tous.

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 292
    Points
    292
    Par défaut
    Dans la fonction fgetcsv, il faut indiquer le délimiteur des colonnes.


    http://php.net/fgetcsv

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Exact!
    sa marche


    Merci beacoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CSV] Supprimer les caractères qui gênent
    Par sami_c dans le forum Langage
    Réponses: 5
    Dernier message: 08/09/2006, 08h41
  2. Problème sur caractère
    Par laurent35 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 24/04/2006, 17h33
  3. [XML]caractère de séparation des contenus des éléments
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/12/2005, 11h07
  4. [C#] Caractère de séparation
    Par borgfabr dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2005, 11h51
  5. [Sybase] filtre sur caractères spéciaux
    Par montelieri dans le forum Sybase
    Réponses: 4
    Dernier message: 07/04/2003, 16h49

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