Erreur toute conne en php -> if...

Erreur toute conne en php -> if... - PHP - Programmation

Marsh Posté le 06-10-2002 à 00:39:21    

J'ai un circuit de validation : 0 = pas encore approuvé, Oui = approuvé et non = refusé.
j'ai 3 personnes impliquées dans la validation :
1er-> $repmanager
2eme-> $repmkt
3eme-> $repfin
 
Je veux appliquer à la variable $etat,  l'état de l'approbation.
Sachat que $repfin ne peut avoir approuvé sans que $repmkt ne l'ai fait, et lui même étant tributaire de la réponse de $repmanager, j'ai fait le code ci dessous mais ça merde et je vois pas pkoi :(
 
if($repfin=="Oui" ) // Si "oui", tout le monde a approuvé avt lui
 {
 $etat="a été approuvé par tout le monde";
 }
 
 if($repmanager=="non" )// Si "non", le manager a refusé
 {
 $etat="a été refusée par le Manager";
 }
 
 if($repmkt=="non" )// Si "non", le mkt a refusé
 {
 $etat="a été refusée par le Marketing";
 }
 
 if($repfin=="non" )// Si "non", la finance a refusé
 {
 $etat="a été refusée par la Finance";
 }
 
 if($repmanager==0) //Personne n'a encore approuvé ou refusé
 {
 $etat="est en attente de validation Manager";
 }
 
 if($repmanager=="oui" and $repmkt==0) //Le manager a approuvé et le Mkt n'a pas encore approuvé ou refusé
 {
 $etat="est en attente de validation Marketing";
 }
 
 if($repmkt=="oui" and $repfin==0)//Le manager et le Mkt ont approuvé et la finance n'a pas encore approuvé ou refusé
 {
 $etat="est en attente de validation Finance";
 }


Message édité par format_c le 06-10-2002 à 00:55:32
Reply

Marsh Posté le 06-10-2002 à 00:39:21   

Reply

Marsh Posté le 06-10-2002 à 00:49:29    

j'ai pas tout lu, mais il me semble évident que tu ne maîtrise pas les conditions emboîtées, là en fait tu teste tous les états 1 par 1, mais à chaque fois sans tenir compte des autres.
Sans te donner la réponse, tu devrais plutôt avoir un code structuré de la manière suivante:
 
if (condition1 == expression1)
{
 if (condition2 == expression2) {faire ceci}
}
else if (condition3 == expression3)
{
 if (condition4 == expression4) {faire ceci}
}
else
{
 faire ceci
}


Message édité par sweedy le 06-10-2002 à 00:50:34

---------------
http://www.didiou.com
Reply

Marsh Posté le 06-10-2002 à 00:52:33    

sweedy a écrit a écrit :

j'ai pas tout lu, mais il me semble évident que tu ne maîtrise pas les conditions emboîtées, là en fait tu teste tous les états 1 par 1, mais à chaque fois sans tenir compte des autres.
Sans te donner la réponse, tu devrais plutôt avoir un code structuré de la manière suivante:
 
if (condition1 == expression1)
{
 if (condition2 == expression2) {faire ceci}
}
else if (condition3 == expression3)
{
 if (condition4 == expression4) {faire ceci}
}
else
{
 faire ceci
}




Oui mon code est un poil bourrin mais si tu avais lu le code en entier tu aurais vu que je testais tous les états...

Reply

Marsh Posté le 06-10-2002 à 00:55:55    

Format_C a écrit a écrit :

 
Oui mon code est un poil bourrin mais si tu avais lu le code en entier tu aurais vu que je testais tous les états...




PS : J'ai rajouté des commentaire au code dans les condtions

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed