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] Problème de caractère


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [CSV] Problème de caractère
    Bonjour,

    voila j'ai problème (qui doit être tout bete je pense) mais j'arrive pas a le résoudre tout seul, veuillez éclairer ma lanterne svp

    J'ai créer un script d'import sur une base qui lis un fichier cvs.
    Ensuite je le lis ligne par ligne.

    je donne l'exemple d'un ligne:
    3882564;toto;toto;Seniors;66;30/09/2006;F;-

    j'ai souci avec le derniere caractere "-" il est contenu dans la variable $ligne[7]

    je veux faire une comparaison dessus et ça marche jamais
    ma fonction :
    function def_qualife ($quali)(=>on y met le $ligne[7])
    {
    if ($quali=='-') return 0;
    else return 1;
    }

    Ca me retourne toujours 1...
    J'ai essayé aussi les fonction de comparaison ça donne pareille.

    Avez vous une idée?

  2. #2
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    salut, voici un extrait de docphp4_v6_1.pdf

    $a == $b Egal Vrai si $a est égal à $b.
    $a === $b Identique Vrai si $a est égal à $b et qu'ils sont de même type (PHP 4 seulement).
    donc, essaie ce code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($quali==='-') return 0;
    else return 1;
    Et penses à utiliser le code [code] pour afficher ton CODE (clair, non?)

    ++
    JC

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je viens d'essayé et meme constat, ça me retourne tjrs 1...
    voici le code qui appel la fonction

    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
     
    while (!feof($fd))
    {
    $ligne=fgets($fd,4096);
    $ligne=explode (";",$ligne);
    //on attribut les variables
    $licence=$ligne[0];
    $nom=mysql_escape_string($ligne[1]);
    $prenom=mysql_escape_string($ligne[2]);
    $id_categorie=$ligne[3];
    $id_club=$ligne[4];
    $qualifie=$ligne[5];
    $sexe=$ligne[6];
    $surclassement=$ligne[7];
     
    echo "<br>suclassement=$surclassement<br>";
    $qualifie=def_qualife($qualifie);
     
    $sur=def_qualife($surclassement);
    echo "<br>qual=".$qualifie;
    echo "<br>sucrclassement:".$sur;
    $cat=def_cat($id_categorie,$sexe);
    le code le de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function def_qualife ($quali)
    {
     if ($quali==='-') return 0;
     else return 1;
    }
    sur une ligne :
    3882564;tata;toto;Seniors;66;30/09/2006;F;-
    Ca me renvoi 1...comprend pas

  4. #4
    Membre éclairé
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Points : 823
    Points
    823
    Par défaut
    tu as essayé de mettre des " à la place des '

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ($quali==="-") return 0;
    ++
    JC

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Oui aussi même résultat
    Il y a pas une fonction pour transtypé ce charactere?

  6. #6
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    salut
    je ne sais pas comment il interprete le ' - ', mais bon p-e peux tu essayer avec la fonction strcmp

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    je n'utilise pas de fichier cvs, donc la piste que je donne ci-après est peut-être nulle
    es-tu certain que ton $ligne[7] ne contient que le signe moins ? peut-être y a-t-il un autre caractère derrière qui ne s'affiche pas (un retour chariot ou quelque chose de ce genre, ou un espace)
    dans ta structure, est-ce possible de ne comparer que le premier caractère de ton champ (par exemple, si $ligne[7] est égal à '-blabla', ta fonction doit-elle retourner 1)

Discussions similaires

  1. [AC-2007] Problème export csv limité à 255 caractères !
    Par podalamina dans le forum Access
    Réponses: 15
    Dernier message: 15/10/2012, 16h03
  2. import de fichier CSV : problème de caractères accentués
    Par mouaa dans le forum Administration
    Réponses: 2
    Dernier message: 08/08/2007, 07h45
  3. Problème de caractère ?
    Par Leishmaniose dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/11/2006, 17h29
  4. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38
  5. [MiniPascal] Problème de caractères accentués
    Par Clandestino dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/10/2004, 13h12

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