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 :

changement de valeur d'une variable par un switch


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 8
    Par défaut changement de valeur d'une variable par un switch
    bonsoir , je débute en la programmation web et j ai un petit blocage ... j espère trouver une réponse ici ..alors alors :
    je veux initialiser une variable php puis modifier sa valeur selon les différents cas de mon "switch case" pour en faire des requettes..
    mon soucis c est que cette variable garde toujour sa valeur d'initialisation , une idée du soucis?

    voila a quoi peut ressembler mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $couleur="bleu";
    switch ($elt){
    case 1 : $couleur =vert;
    case 2 : $couleur=rouge;
    ...}
    echo $couleur; //le resultat est bleu  alors qu 'il a été modifié normalement .
    merci pour votre aide d'avance

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 287
    Par défaut
    1er point :
    Il manque des "" sur les affectations de la valeur de $chaine dans tes case.

    2ème point:
    es-tu sûre que $elt a une valeur de 1 ou 2 permettant de changer l'affectation ? Par défaut une variable n'ayant jamais eue d'affectation aura une valeur de NUL.

    3ème point :
    Il faut mettre des break à la fin de chaque clauses case, sauf dans des cas particuliers.
    http://php.net/manual/fr/control-structures.switch.php
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour la valeur par défaut, la clause "default" est faite pour ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    switch ($elt){
    case 1: $couleur = "vert"; break;
    case 2: $couleur = "rouge"; break;
    default: $couleur = "bleu"; break;
    }
    echo $couleur;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 8
    Par défaut
    mercii pour vos reponses, pour ce qui est des break a la fin je les ai bel et bien mis les "" pour l affectation également y sont . mon soucis n'est pas avec le switch case je l'ai testé et il marche parfaitement bien car au début j avais une dépendance entre les "case" pour supprimer cette dépendance d'ordre j ai voulu passer par une variable : voici a quoi ressemble 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
    $vue="secu";// qui est le nom de ma table pour le 1er select
    switch($idpd){
    case 1:
     
    		$sql1="CREATE OR REPLACE VIEW vue2 AS SELECT * FROM '".$vue."' WHERE temps='".$q."'";
    		$sql2= " SELECT * FROM vue2";
    		$vue="vue2";
     
    		break;
    case 2:
     
    		$sql1="CREATE OR REPLACE VIEW vue3 AS SELECT * FROM '".$vue."' WHERE platform='$q'";
    		$sql2="SELECT * FROM vue3";
    		$vue="vue3";
    		break;
    en affichant les requette je me retrouve tjr avec un "select from secu "... alors que je veux selectionner a partir de la derniere vue crée
    mes requette seront executé et afficheront le resultat plus bas je précise que j ai 80 case (un formulaire) si j'utilise la variable $vue c est pour éviter de forcé l'ordre de réponse

  5. #5
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Mets ça avant le switch et dis-nous ce que ça affiche comme valeur.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 8
    Par défaut
    en mettant un echo a idpd j'affiche mon identifiant du select il va de 1 a 70 selon le numero du select , en affichant le contenu de $vue j'affiche un bon contenu or " vue1 " ou "vue2".... mais en affichant la requette j'ai tjr "secu".... chose que je ne comprend pas .

Discussions similaires

  1. Evenement sur changement d0une valeur d'une variable
    Par Destiny dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/04/2008, 09h28
  2. [SQL] Détection du changement de valeur d'une variable
    Par micatmidog dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 10/06/2007, 20h22
  3. Réponses: 8
    Dernier message: 29/03/2007, 14h48
  4. [VB.NET]Test sur changement de valeur d'une variable
    Par shinji_rem dans le forum Windows Forms
    Réponses: 9
    Dernier message: 29/11/2006, 15h53
  5. Intercepter le changement de valeur d'une variable
    Par Captain_JS dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/01/2005, 08h04

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