Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/12/2007, 10h28   #1
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Par défaut Synthétiser un groupe de if, elseif, else

Bonjour à tous, voici le code qui fonctionne actuellement :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if($row[2]=="" || $statut=="1"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
elseif($statut=="2"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
elseif($statut=="3"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
elseif($statut=="4"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
elseif($statut=="5"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
else{
$etat="Problème d'état" ;
 
}
y aurait-il une façon plus simple de coder cet extrait afin d'allerger le code?

Merci de votre aide
seb1395 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 10h36   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
utiliser switch ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h27   #3
Membre habitué
 
Inscription : mars 2007
Messages : 104
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2007
Messages : 104
Points : 104
Points : 104
Et à moins que mes yeux ne me jouent un mauvais tour, tu implémentes le même code dans chacune de tes conditions, où est l'interêt ?
Cemos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 11h41   #4
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
et bien parce que ma base de donnée est ainsi faite :

ID. nom Etat action
1 nom1 etat1 action1
2 nom2 etat2 actiont2
3 nom1 etat3 action3


Et que ma requete est la suivant :

$rqt2 = mysql_query('SELECT * FROM mabase where IDstatut='.$statut.'');
$row2=@mysql_fetch_row($rqt2);


donc si le statut = 1
j'écris état1

si le statut = 2
j'écris état2


Et dans mes conditions:
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);

revient à dire : tu m'affiches la colone2 dont la ligne est 3 par exemple.
seb1395 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 13h05   #5
Membre habitué
 
Inscription : mars 2007
Messages : 104
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : mars 2007
Messages : 104
Points : 104
Points : 104
Oui mais ce que je veux dire, c'est que tu peux regrouper le traitement en une seule condition.

Code :
1
2
3
4
5
6
7
8
9
10
11
 
elseif($statut=="2"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
elseif($statut=="3"){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
que le statut soit égal à 2 ou à 3, tu effectues les mêmes instructions.

Code :
1
2
3
4
5
6
 
elseif($statut==3 || $statut==2){
$etat=utf8_encode($row2[2]);
$action=utf8_encode($row2[3]);
$couleur = $row2[4];
}
et pour l'ensemble de ton code :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
if($row[2]=="" || ($statut>=1 && $statut<=5))
{
      $etat=utf8_encode($row2[2]);
      $action=utf8_encode($row2[3]); 
      $couleur = $row2[4];
}
else
{
      $etat="Problème d'état" ;
}
Cemos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2007, 14h37   #6
Invité de passage
 
Inscription : août 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 10
Points : 2
Points : 2
Nickel c'est ce que je n'arrivais à pas synthétiser.

Merci beaucoup!
seb1395 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h46.


 
 
 
 
Partenaires

Hébergement Web