Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1597 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Test d'égalité non satisfait avec if

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Test d'égalité non satisfait avec if

n°1803890
masseur
Posté le 24-10-2008 à 09:22:38  profilanswer
 

Bonjour.
 
Je fais cette requête.
 

Code :
  1. SELECT nom,adresse1,adresse2,cp,localite FROM util WHERE id = '$ID'


 
On va parler uniquement du cas qui m'embette.
 
Imaginons que le champs adresse2 ne soit pas renseigné pour un de mes enregistrements.
 
Voici mon if

Code :
  1. if (($val['nom'] == '$NOM') && ($val['adresse1'] == '$ADRESSE1_RECUP') && ($val['adresse2'] == '$ADRESSE2_RECUP') ...)


 
En gros on devrait rentrer dans ma boucle car le nom et l'adresse1 correspondent et $val['adresse2'] dans mon cas vaut null car le champs n'est pas renseigné dans ma BDD et $ADRESSE2_RECUP = ""
 
A cause de cela on ne rentre pas dans la boucle.
Comment remédier à cela?
 
Je précise que $NOM,$ADRESSE1_RECUP,$ADRESSE2_RECUP sont des valeurs récupérés dans un fichier txt.


Message édité par masseur le 24-10-2008 à 09:23:05
mood
Publicité
Posté le 24-10-2008 à 09:22:38  profilanswer
 

n°1803899
yellu
Posté le 24-10-2008 à 09:48:07  profilanswer
 

Les simples quotes détermine une chaine de caractère dans laquelle les variables ne sont pas interprétées, tu es sur que veux comparer la chaine '$NOM' et pas plutot la variable $NOM ?

n°1803901
masseur
Posté le 24-10-2008 à 09:54:19  profilanswer
 

yellu a écrit :

Les simples quotes détermine une chaine de caractère dans laquelle les variables ne sont pas interprétées, tu es sur que veux comparer la chaine '$NOM' et pas plutot la variable $NOM ?


 
Bien entendu c'est la variable qu'il faut interpréter.
Même en faisant cela

Code :
  1. $val['adresse2'] == $ADRESSE2_RECUP

ca considère mon égalité comme fausse!!!!
meme cela

Code :
  1. strcasecmp($val['adresse2'], $ADRESSE2) == 0


 
Ca fait un jour que je bloque dessus!!!


Message édité par masseur le 24-10-2008 à 09:56:31
n°1803917
masseur
Posté le 24-10-2008 à 10:37:52  profilanswer
 

Je viens de faire un test très clair.
 

Code :
  1. if (   $val['adresse2'] == '$ADRESSE22'  )
  2. {
  3. echo '/DEBUT'.$val['adresse2'].'/FINDANSBOUCLE';
  4. echo '/DEBUT'.$ADRESSE22.'/FINDANSBOUCLE';
  5. }
  6. else {
  7. echo '/DEBUT'.$val['adresse2'].'/FINHORSBOUCLE';
  8. echo '/DEBUT'.$ADRESSE22.'/FINHORSBOUCLE';
  9. }


 
j'obtiens en retour à chaque fois /DEBUT/FINHORSBOUCLE/DEBUT/FINHORSBOUCLE
 
On voit donc bien que mes deux valeurs sont nulles et pourtant on entre pas dans la boucle!!

n°1803918
skeye
Posté le 24-10-2008 à 10:39:31  profilanswer
 

La comparaison simple (==) de null et d'une chaine vide retoure true normalement en php...tu le remplis comment ton tableau? Tu as vérifié ce qu'il y a dedans?


---------------
Can't buy what I want because it's free -
n°1803920
skeye
Posté le 24-10-2008 à 10:40:54  profilanswer
 

masseur a écrit :

Je viens de faire un test très clair.

 

[code]if (   $val['adresse2'] == '$ADRESSE22'  )
{

 

ça c'est stupide.
1) pas de simples quotes, sinon ce n'est pas ta variable, mais la chaine de caractères '$ADRESSE22' que tu compares.
2) $ADRESSE2, pas $ADRESSE22


Message édité par skeye le 24-10-2008 à 10:41:14

---------------
Can't buy what I want because it's free -
n°1803925
masseur
Posté le 24-10-2008 à 10:53:09  profilanswer
 

1) sur dev.net (un admin en plus) me dis bien de faire le test avec le simple quote!!!!!
 
2)C'est bien adresse22, mais la n'est pas le problème.
 
Un print_r de mon tableau donne cela
 

Code :
  1. Array ( [nom] => XXXXX [adresse1] => XXXXX [adresse2] => [cp] => XXXXX [localite] => XXXXX )


 
Mon tableau est donc bien rempli!!!!
 
Je rempli un enregistrement en mettant une valeur a adresse2
 
 
EDIT : test avec les double quote ca marche.
Merci skeye

Message cité 2 fois
Message édité par masseur le 24-10-2008 à 10:55:04
n°1803926
skeye
Posté le 24-10-2008 à 10:54:27  profilanswer
 

masseur a écrit :

1) sur dev.net (un admin en plus) me dis bien de faire le test avec le simple quote!!!!!


bah c'est un abruti qui ne sait pas de quoi il parle.[:dawak]
essaye avec ça :

Code :
  1. if (   $val['adresse2'] == $ADRESSE22  )


---------------
Can't buy what I want because it's free -
n°1803927
skeye
Posté le 24-10-2008 à 10:54:52  profilanswer
 

masseur a écrit :


 
EDIT : test avec les double quote ca marche.


sans blague?[:moule_bite]


---------------
Can't buy what I want because it's free -
n°1803934
masseur
Posté le 24-10-2008 à 11:01:22  profilanswer
 

J'avoue qu'en étant le nez dans mon PC, je ne savais plus ou étais la vérité!!!!!!
 
Merci encore!

Message cité 1 fois
Message édité par masseur le 24-10-2008 à 11:02:31
mood
Publicité
Posté le 24-10-2008 à 11:01:22  profilanswer
 

n°1803965
skeye
Posté le 24-10-2008 à 11:55:39  profilanswer
 

masseur a écrit :

J'avoue qu'en étant le nez dans mon PC, je ne savais plus ou étais la vérité!!!!!!
 
Merci encore!


 
c'est pas comme si on t'avait dit 3 fois qu'il fallait faire comme ça...:o
ça t'apprendra à aller demander conseil à des charlots :o


---------------
Can't buy what I want because it's free -
n°1803970
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 24-10-2008 à 12:05:01  profilanswer
 

skeye a écrit :


 
c'est pas comme si on t'avait dit 3 fois qu'il fallait faire comme ça...:o
ça t'apprendra à aller demander conseil à des charlots :o


félicitations pour avoir tenu la main de masseur :jap:


---------------
J'ai un string dans l'array (Paris Hilton)
n°1803971
skeye
Posté le 24-10-2008 à 12:07:22  profilanswer
 

Harkonnen a écrit :


félicitations pour avoir tenu la main de masseur :jap:


va foutre des claques à ton collègue qui répond à coté de ses pompes, au lieu de faire des jeux de mot stupides, toi :o


---------------
Can't buy what I want because it's free -

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Test d'égalité non satisfait avec if

 

Sujets relatifs
[HTML/PHP] Test connexion routeurCppUnit vs boost::unit_test_framework
Outils de reporting de testceci est un topic test de bug
Test connexion internet par VB6.0[javascript] onsubmit() et test de 2 boutons submit
pour que @Before devine le test en cours [resolu]lib GMP test while/if
[Shell] test avec une variableTest sur champ obligatoire
Plus de sujets relatifs à : Test d'égalité non satisfait avec if


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR