Aller au contenu

Condition if avec and


Sujets conseillés

Posté (modifié)

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
Posté

Salut,

 

En PHP, on n'utilise pas le AND pour faire des conditions mais le && ( AND )  ou le || ( OR ).

 

Remplace tes AND par des && et vois si ca sort. A priori je ne vois pas d'autre problème.

Posté

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 ! ;)

 

 

Posté

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

Posté

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 !

 

Posté

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 

 

Posté

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()

 

Veuillez vous connecter pour commenter

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



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