Jump to content

Condition if avec and


Cylvain

Recommended Posts

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

Edited by Cylvain
Link to post
Share on other 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 ! ;)

 

 

Link to post
Share on other 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

Link to post
Share on other 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 !

 

Link to post
Share on other 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 

 

Link to post
Share on other 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()

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...