Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/10/2006, 13h45   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 3
Points : 0
Points : 0
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?
escroc.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 13h54   #2
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
salut, voici un extrait de docphp4_v6_1.pdf

Citation:
$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 :
1
2
3
if ($quali==='-') return 0;
else return 1;
Et penses à utiliser le code [code] pour afficher ton CODE (clair, non?)

++
JC
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 14h38   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 3
Points : 0
Points : 0
Je viens d'essayé et meme constat, ça me retourne tjrs 1...
voici le code qui appel la fonction

Code :
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 :
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
escroc.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 14h41   #4
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
tu as essayé de mettre des " à la place des '

Code :
1
2
if ($quali==="-") return 0;
++
JC
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 17h19   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 3
Points : 0
Points : 0
Oui aussi même résultat
Il y a pas une fonction pour transtypé ce charactere?
escroc.fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2006, 20h48   #6
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
salut
je ne sais pas comment il interprete le ' - ', mais bon p-e peux tu essayer avec la fonction strcmp
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 00h50   #7
Membre émérite
 
Inscription : juin 2002
Messages : 1 013
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 1 013
Points : 959
Points : 959
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)
francis m est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h24.


 
 
 
 
Partenaires

Hébergement Web