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 :

Récupérer le résultat d'une liste déroulante


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut Récupérer le résultat d'une liste déroulante
    Bonjour à tous. Ce problème a été posé maintes et maintes fois mais je n'arrive pas à l'appliquer à ma solution.

    Pouvez vous m'aidez ?

    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
     
     
    <?php
    // pour faire un menu déroulant présenter les différentes années
    echo "<SELECT NAME='YEAR' onChange='FocusObjet()'>";
    try
    {
    	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    	$bdd = new PDO('mysql:host=localhost;dbname=glpi', 'root', '', $pdo_options);
    }
    catch (Exception $e)
    {
    	die('Erreur : ' . $e->getMessage());
    }
    $reponse = $bdd->query('SELECT distinct YEAR(date) AS mois FROM glpi_tickets ORDER BY mois');
    echo "<OPTION SELECTED VALUE='Année...'>Année</OPTION>";
    while ($donnees = $reponse->fetch())
    {
    	$valeur = (string)$donnees['mois'];
    	echo "<OPTION VALUE='$valeur'> $valeur </OPTION>\n";
    }
    echo "</SELECT>";
     
     
    echo "<a href='glpi_recherche.php?annee=$valeur'>Recherche ...</a>";
     
    ?>
    Ici j'ai créé une liste déroulante contenant une liste d'année (2005, 2006, ...2011). Je souhaite envoyer le résultat à la page glpi_recherche.php.

    Par quoi je dois changer $valeur pour arriver à mes fins ?

    Merci d'avance..

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Bonjour,

    ta ligne suivant pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<a href='glpi_recherche.php?annee=$valeur'>Recherche ...</a>";
    Par défaut $valeur sera égale à la dernière valeur.

    soit tu passe par un formulaire et lorsque tu cliques sur ton lien tu "submit" ton formulaire. Soit tu gère le tout par javascript pour modifier en direct la valeur de ton attribut.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut
    ce que je souhaitais faire était justement de faire passer le résultat du choix par l'url. Mais si je n'ai pas le choix de faire un formulaire, c'est ce que je vais faire.

    Merci pour cette réponse rapide.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut
    Voici ou j'en suis. J'ai rajouté le bouton submit et le lien à un autre fichier php :
    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
     
     
    <form action="glpi_recherche.php" method="post">
    <?php
    // pour faire un menu déroulant présenter les différentes années
    echo "<SELECT NAME='YEAR' onChange='FocusObjet()'>";
    try
    {
    	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    	$bdd = new PDO('mysql:host=localhost;dbname=glpi', 'root', '', $pdo_options);
    }
    catch (Exception $e)
    {
    	die('Erreur : ' . $e->getMessage());
    }
    $reponse = $bdd->query('SELECT distinct YEAR(date) AS mois FROM glpi_tickets ORDER BY mois');
    echo "<OPTION SELECTED VALUE='Année...'>Année</OPTION>";
    while ($donnees = $reponse->fetch())
    {
    	$valeur = (string)$donnees['mois'];
    	echo "<OPTION VALUE='$valeur'> $valeur </OPTION>\n";
    }
    echo "</SELECT>";
     
    ?>
    <input type='submit' value='Lancer la recherche' />
    dans le fichier glpi_recherche.php voila ce qu'il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    <?php
    if (isset($_POST['annee']))
    {
    	echo $_POST['annee'];
    }
    ?>
    ?>
    Lorsque je teste ceci et que je choisi dans ma liste déroulante une année, rien ne s'affiche.
    Une idée ? D'avance merci.

  5. #5
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Ton select se nomme YEAR et non annee.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut
    Citation Envoyé par transgohan Voir le message
    Ton select se nomme YEAR et non annee.
    .. Erreur d’inattention qui m'a couté cher. Merci beaucoup.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 26/04/2007, 10h40
  2. Réponses: 12
    Dernier message: 23/04/2007, 18h29
  3. récupérer la valeur d'une liste déroulante dynamique
    Par grinder59 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 23/01/2006, 17h51
  4. Réponses: 5
    Dernier message: 27/05/2005, 17h10
  5. Récupérer un objet d'une liste déroulante
    Par Hell dans le forum C++Builder
    Réponses: 2
    Dernier message: 07/01/2005, 14h59

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