Test avec des chiffres et une lettre PHP

Bonjour

Voici mon souci : j’ai une variable sur laquelle je fais des tests


if ($charge == 'V')
$couleur_case = "#16ebf3"; // bleu turquoise
if ($charge == 5)
$couleur_case = "#2aff00";
else if ($charge <= 5 && $charge >= 3)
$couleur_case = "yellow";
else if ($charge <= 2 && $charge >= 0)
$couleur_case = "orange";
else if ($charge < 0)
{
$couleur_case = "red";
$couleur_texte = "yellow";
}

afin d’appliquer le bon style (je fais un planning, et en fonction d’un savant calcul, la couleur de fond doit changer).
Le calcul se fait très bien, mais lorsque $charge prends comme valeur ‘V’ (pour vacances), le style n’est, mais alors, pas du tout appliqué : la case devient orange.

Savez vous d’où cela peut provenir ?

P.S : si je remplace ‘V’ par un chiffre, 6 par exemple, la case devient bleue, comme demandé.
Edité le 08/07/2011 à 11:27

si $charge a pour valeur ‘V’, pourquoi fais-tu le test pour les autres valeurs de référence ?
autrement dit pour quoi pas else if en début de 3e ligne ?

erreur de ma part --> corrigé

Mais le problème persiste :confused:

Si avec le else tu passes quand même dans les lignes 3 et suivantes, cela veut probablement dire que ‘V’ ne correspond pas au contenu exact de $charge.
Et le contenu est interprété comme 0, d’où la couleur orange.
Après pour en dire plus, il faudrait avoir le contexte