IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Synthétiser un groupe de if, elseif, else


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Synthétiser un groupe de if, elseif, else
    Bonjour à tous, voici le code qui fonctionne actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    utiliser switch ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    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 ?

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    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.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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" ;
    }

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Nickel c'est ce que je n'arrivais à pas synthétiser.

    Merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR XI] Problème de syntaxe IF-ELSE || IF-ELSEIF-ELSE
    Par ygyongy dans le forum Formules
    Réponses: 3
    Dernier message: 23/07/2013, 17h30
  2. Syntax error : if, elseif, else
    Par Invité dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/01/2013, 09h39
  3. if elseif else ?
    Par caroen dans le forum Langage
    Réponses: 2
    Dernier message: 19/11/2008, 10h29
  4. elseif else if
    Par Linio dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2008, 10h30
  5. [Système] probleme dans la structure if/elseif/else
    Par samsso2005 dans le forum Langage
    Réponses: 9
    Dernier message: 14/03/2006, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo