Aller au contenu

Condition if avec and


Cylvain

Sujets conseillés

Bonjour à tous,

Je voudrais avoir l'affichage de mes donnés par rapport à des conditions différentes.

en fait: si ma valeur RADH est >0 et ma valeur RADC >0
alors l'affichage est (valeurRADH / valeurRADC)

si ma valeur RADH est <0 et ma valeur RADC >0
alors l'affichage est ( valeurRADC)

si ma valeur RADH est >0 et ma valeur RADC <0
alors l'affichage est ( valeurRADH)

voici le fragment de mon code mais je ne suis pas sur de la syntaxe, de plus, rien ne s'affiche 
 

if(($lof_row['RADH']>0) AND ($lof_row['RADC']>0)){
echo '<p>('.$lof_row['RADH'].' /'.$lof_row['RADC'].') </p>';
} 
elseif(($lof_row['RADH']<0) AND ($lof_row['RADC']>0)){
echo '<p>( '.$lof_row['RADC'].') </p>';
} 
elseif(($lof_row['RADH']>0) AND ($lof_row['RADC']<0)){
echo '<p>( '.$lof_row['RADH'].') </p>';
}

Merci pour votre aide

Modifié par Cylvain
Lien vers le commentaire
Partager sur d’autres sites

Es-tu certain que tes variables $lof_row[...] ne sont pas nulles ?

Parce qu'au cas où elles sont égales à zéro, rien ne s'affichera !

Idem si les deux sont négatives ! ;)

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir, 

 

Oui certain que mes variables ne sont pas nulles, j'affiche celles-ci plus haut dans ma feuille

en fait cette variable est ou rien ou HD et pour la deuxième ou rien ou ED

lorsque je fais 

var_dump($lof_row)

 ["RADH"]=> string(2) "HD" [8]=> string(2) "HD" ["RADC"]=> string(2) "ED" [9]=> string(2) "ED"

merci

Lien vers le commentaire
Partager sur d’autres sites

Comment peux-tu faire des comparaisons avec 0 pour des valeurs telles que "HD" ou "NULL" ?

Comme le dit justement Blackpage, c'est la logique de ton code qui est à revoir !

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour vos explications, effectivement mes valeurs ne sont pas numériques, je vais revoir la logique de mon code mais je pense qu'attendu que je n'aurais que HD et ED dans ces variantes, je vais utiliser le ='HD' et !='HD'......

Merci encore pour vos explications 

 

Lien vers le commentaire
Partager sur d’autres sites

Pas le "='HD' qui est une assignation. Il faut un double (ou triple) signe = pour que ce soit un test comme le signale Eric73 plus haut !

Et pour des chaînes de caractères, on utilise plutôt strcmp() ou strncmp()

 

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...