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 :

Transmettre des variables à des conditions


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Transmettre des variables à des conditions
    Bonjour,

    Après de longues années d'absences derrière le PC pour coder, je viens vers vous pour vous demander votre aide.

    J'ai une liste <UL> qui doit se remplir en fonction du niveau du membre connecté.

    J'aimerais afficher un message en fonction de ce niveau, reprenant les niveau inférieurs pour éviter de devoir me répéter.

    Voici mon code.

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    		$membres_accreditation = $accreditation['membres_accreditation'];
    		$liste=null;
    		$cas1=null;
    		$cas2=null;
    		$cas3=null;
    		$cas4=null;
    		$cas5=null;
    		$cas6=null;
    		// On définit la condition 
    		if ($membres_accreditation == 1){
    			$cas1 = "<li>Gérer votre profil.</li>
    			<li>Gérer les rapport du conseil municipale (Accréditation requise: <b>1</b>) (A venir)</li>";
    			$liste .= $cas1; // On affiche le résultat plus les précédents
    		}
    		elseif ($membres_accreditation == 2){
    			$cas2 = "<li>Gérer les annonces de la mairie (Accréditation requise: <b>2</b>)</li>
    			<li>Gérer les tarifs des divers services (Accréditation requise: <b>2</b>) (A venir)</li>
    			<li>Gérer les informations utiles aux citoyens (Accréditation requise: <b>2</b>) (A venir)</li>";
    			$liste .= $cas1.$cas2; // On affiche le résultat plus les précédents
    		}
    		elseif ($membres_accreditation == 3){
    			$cas3 = "<li>Gérer les événements (Accréditation requise: <b>3</b>)</li>
    			<li>Gérer les annonces des emploies (Accréditation requise: <b>3</b>)</li>
    			<li>Gérer les décrets de la ville (Accréditation requise: <b>3</b>) (A venir)</li>";
    			$liste .= $cas1.$cas2.$cas3; // On affiche le résultat plus les précédents
    		}
    		elseif ($membres_accreditation == 4){
    			$cas4 = "<li>Gérer la liste du gouvernement (Accréditation requise: <b>4</b>)</li>";
    			$liste .= $cas1.$cas2.$cas3.$cas4; // On affiche le résultat plus les précédents
    		}
    		elseif ($membres_accreditation == 5){
    			$cas5 = "<li>Gérer les utilisateurs de l'intranet (Accréditation requise: <b>5</b>)</li>";
    			$liste .= $cas1.$cas2.$cas3.$cas4.$cas5; // On affiche le résultat plus les précédents
    		}
    		elseif ($membres_accreditation == 6){
    			$cas6 = "";
    			$liste .= $cas1.$cas2.$cas3.$cas4.$cas5.$cas6; // On affiche le résultat plus les précédents
    		}
    ?>
    Comment feriez vous pour passer la valeur des variables $casX au niveau suivant?

    Merci à vous pour votre aide.

    Cordialement.

  2. #2
    Membre averti Avatar de Freudd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 164
    Points : 377
    Points
    377
    Par défaut
    Bonjour,

    je te propose la solution suivante :

    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
    30
    31
    32
    33
    34
    35
    36
    <?php
     
    $membres_accreditation = $accreditation['membres_accreditation'];
    /* Définir ta liste en chaine vide : */
    $liste                 = '';
     
    /* Si tu as une accréditation supérieure ou égale alors je lui rajoute les éléments de la liste. */
    if( $membres_accreditation >= 1 )
    {
        $liste  .= "<li>Gérer votre profil.</li>
    			<li>Gérer les rapport du conseil municipale (Accréditation requise: <b>1</b>) (A venir)</li>";
    }
    if( $membres_accreditation >= 2 )
    {
        $liste  .= "<li>Gérer les annonces de la mairie (Accréditation requise: <b>2</b>)</li>
    			<li>Gérer les tarifs des divers services (Accréditation requise: <b>2</b>) (A venir)</li>
    			<li>Gérer les informations utiles aux citoyens (Accréditation requise: <b>2</b>) (A venir)</li>";
    }
    if( $membres_accreditation >= 3 )
    {
        $liste  .= "<li>Gérer les événements (Accréditation requise: <b>3</b>)</li>
    			<li>Gérer les annonces des emploies (Accréditation requise: <b>3</b>)</li>
    			<li>Gérer les décrets de la ville (Accréditation requise: <b>3</b>) (A venir)</li>";
    }
    if( $membres_accreditation >= 4 )
    {
        $liste  .= "<li>Gérer la liste du gouvernement (Accréditation requise: <b>4</b>)</li>";
    }
    if( $membres_accreditation >= 5 )
    {
        $liste  .= "<li>Gérer les utilisateurs de l'intranet (Accréditation requise: <b>5</b>)</li>";
    }
    if( $membres_accreditation >= 6 )
    {
        $liste  .= "";
    }
    Si par défaut l'utilisateur a au minimum une accréditation de niveau 1 (tu ne précises pas si le niveau 0 existe ou pas), tu peux initialiser la liste directement avec les éléments de la liste de niveau 1.
    De plus, le niveau 6 ne semble pas avoir plus de droits que le niveau 5 (tu n'as pas mis d'élément dans la liste), donc tu peux le supprimer.

    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
    <?php
     
    $membres_accreditation = $accreditation['membres_accreditation'];
    /* Définir ta liste en chaine vide : */
    $liste                 = "<li>Gérer votre profil.</li>
    			<li>Gérer les rapport du conseil municipale (Accréditation requise: <b>1</b>) (A venir)</li>";
     
    if( $membres_accreditation >= 2 )
    {
        $liste  .= "<li>Gérer les annonces de la mairie (Accréditation requise: <b>2</b>)</li>
    			<li>Gérer les tarifs des divers services (Accréditation requise: <b>2</b>) (A venir)</li>
    			<li>Gérer les informations utiles aux citoyens (Accréditation requise: <b>2</b>) (A venir)</li>";
    }
    if( $membres_accreditation >= 3 )
    {
        $liste  .= "<li>Gérer les événements (Accréditation requise: <b>3</b>)</li>
    			<li>Gérer les annonces des emploies (Accréditation requise: <b>3</b>)</li>
    			<li>Gérer les décrets de la ville (Accréditation requise: <b>3</b>) (A venir)</li>";
    }
    if( $membres_accreditation >= 4 )
    {
        $liste  .= "<li>Gérer la liste du gouvernement (Accréditation requise: <b>4</b>)</li>";
    }
    if( $membres_accreditation >= 5 )
    {
        $liste  .= "<li>Gérer les utilisateurs de l'intranet (Accréditation requise: <b>5</b>)</li>";
    }
    Mon projet CMS https://soosyze.com/
    Son repo github https://github.com/soosyze/soosyze

    Open source tools and free yes, but with elegance .

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci, j'ai essayé et cela fonctionne parfaitement.

    Merci à toi. J'ai oublié la différence entre IF et ELSEIF Oo, m'enfin.

    Le fait de définir à null une variable est t'il problématique ou pas?

    Au passage, j'ai pris la première proposition, qui correspond exactement à mes besoin, car le LV1 est sur d'être sur un même, donc, tu ne peux pas avoir ce message sans être validé et accrédité.

    Merci à toi.

    Cordialement.

  4. #4
    Membre averti Avatar de Freudd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 164
    Points : 377
    Points
    377
    Par défaut
    Le fait de définir à null une variable n'est pas problématique, ça dépend de la situation ^^.
    Mon projet CMS https://soosyze.com/
    Son repo github https://github.com/soosyze/soosyze

    Open source tools and free yes, but with elegance .

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci à toi, du coup, c'est résolut pour ma part.

    Cordialement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur .NET/PHP/JAVA/C++
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur .NET/PHP/JAVA/C++

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Points : 21
    Points
    21
    Par défaut
    Alors marque la discussion comme résolut
    Merci

Discussions similaires

  1. utilisation des noms des variables dans les conditions
    Par ankhaline dans le forum SAS Base
    Réponses: 4
    Dernier message: 14/08/2010, 14h34
  2. [MySQL] problème avec la récupération des valeurs des variables POST
    Par Jasmine80 dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 11/05/2007, 16h08
  3. Affichage des valeurs des variables avec tkprof
    Par hkhan13 dans le forum Oracle
    Réponses: 2
    Dernier message: 04/07/2006, 11h59
  4. Transmettre à une page des variables en javascript?
    Par kenny49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/06/2006, 14h33
  5. [VB] gestion des couleurs des variables de type string
    Par landry005 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/03/2006, 14h36

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