Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2011, 11h15   #1
Membre régulier
 
Inscription : janvier 2009
Messages : 320
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 320
Points : 90
Points : 90
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 :
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..
Redg9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h34   #2
Membre Expert
 
Avatar de Bebel
 
Homme David B.
Développeur informatique
Inscription : avril 2003
Messages : 742
Détails du profil
Informations personnelles :
Nom : Homme David B.
Âge : 29
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 : 742
Points : 1 085
Points : 1 085
Bonjour,

ta ligne suivant pose problème :
Code :
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.
__________________
Tout énigme a une solution ! Tout est question de discipline !
Bebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 11h41   #3
Membre régulier
 
Inscription : janvier 2009
Messages : 320
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 320
Points : 90
Points : 90
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.
Redg9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h20   #4
Membre régulier
 
Inscription : janvier 2009
Messages : 320
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 320
Points : 90
Points : 90
Voici ou j'en suis. J'ai rajouté le bouton submit et le lien à un autre fichier php :
Code :
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 :
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.
Redg9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h39   #5
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Ton select se nomme YEAR et non annee.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 14h49   #6
Membre régulier
 
Inscription : janvier 2009
Messages : 320
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 320
Points : 90
Points : 90
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.
Redg9 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h02.


 
 
 
 
Partenaires

Hébergement Web