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 :

Mon code n'affiche pas les bonnes valeurs !


Sujet :

Langage PHP

  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut Mon code n'affiche pas les bonnes valeurs !
    Bonjour,

    Voici un morceau de code de génération d'une liste déroulante :
    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
    <?php foreach($this->getDonnees()['liste_annees_univ'] as $key => $annee_univ): ?>
    			<option value="<?php echo $annee_univ['annee_univ']; ?>" 
    <?php 
    if(isset($_SESSION['annee_univ']) && $_SESSION['annee_univ'] == $annee_univ['annee_univ'])
    {
    	echo 'selected';
    	$selected = true;
    }
    elseif (($annee_univ['annee_univ'] = $this->getDonnees()['annee_univ_actuelle']) && $selected == false)
    {
    	echo 'selected';
    }
    ?>
    		>
    			<?php echo $annee_univ['annee_univ'].'-'.($annee_univ['annee_univ'] + 1); ?>
    		</option>
    <?php endforeach; ?>
    Voici le contenu de $this->getDonnees()['liste_annees_univ'] :
    [liste_annees_univ] => Array
    (
    [0] => Array
    (
    [annee_univ] => 2017
    [0] => 2017
    )

    [1] => Array
    (
    [annee_univ] => 2018
    [0] => 2018
    )

    )
    Et voici ce que le code PHP génère comme HTML :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <option value="2017" >2019-2020	</option>
    <option value="2018">2019-2020</option>
    => Les "value" générées sont bonnes mais pas les valeurs affichées à l'utilisateur qui devraient être 2017-2018 et 2018-2019 !

    J'ai bien dans les données passés à la vue une $this->getDonnees()[annee_univ_actuelle] => 2019 mais qui n'est pas utilisée dans ce morceau de code alors je ne comprends pas comment ce 2019-2020 peut être généré !

    C'est vendredi et je ne vois plus l'évidence ou... ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Et quelques minutes plus tard... j'ai enfin vu l'évidence !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif (($annee_univ['annee_univ'] = $this->getDonnees()['annee_univ_actuelle']) && $selected == false)
    => dans la condition, il faut == qui est une comparaison et non pas = qui en fait une affectation !

    Ce qui donne corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elseif (($annee_univ['annee_univ'] == $this->getDonnees()['annee_univ_actuelle']) && $selected == false)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. Requete qui n'affiche pas les bonnes valeurs
    Par snips67 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 29/01/2010, 10h54
  2. Pourquoi ce code ne m'affiche pas la bonne valeur ?
    Par Mr. X dans le forum Débuter
    Réponses: 20
    Dernier message: 19/09/2008, 09h48
  3. [google map] code n'affiche pas les marqueurs voulus
    Par arnogef dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/03/2007, 11h19
  4. [SQL] Pb Mysql n'insert pas les bonnes valeur dans la bdd
    Par potao dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/02/2007, 03h12
  5. [Tcl/Tk] Mon interface n'affiche pas les images
    Par randazar dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 21/11/2006, 16h48

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