Liste déroulante select javascript
Fermé
Gariig
Messages postés
194
Date d'inscription
samedi 5 septembre 2009
Statut
Membre
Dernière intervention
4 avril 2011
-
30 sept. 2010 à 23:02
Gariig - 7 oct. 2010 à 12:51
Gariig - 7 oct. 2010 à 12:51
A voir également:
- Liste déroulante select javascript
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
- Telecharger javascript - Télécharger - Langages
- Supprimer une liste déroulante excel - Forum Word
5 réponses
Bonjour
voici mon code, j' ai essayé de faire 2 méthodes (je sais pas laquelle a des chances de fonctionner ?) merci
<h1>Comment afficher l'option quand on on lance la requete ? - methode 1</h1>
<form method="post" action="">
<select name="select" onChange="this.form.submit();" >
<option value="voirtout">Toutes les chaines</option>
<option value="TF1">TF1</option>
<option value="france2">France2</option>
<option value="france3">France3</option>
</select>
</form>
<h1>Comment afficher l'option quand on on lance la requete ? - methode 2</h1>
<form action="articles.php" name="articles" method="get">
<select name="chaine">
<option value="voirtout" onclick='this.form.submit();'>tous les articles</option>
<option value="TF1" onclick='this.form.submit();'>TF1</option>
<option value="france2" onclick='this.form.submit();'>france2</option>
<option value="france3" onclick='this.form.submit();'>france3</option>
</form>
<?php
switch ($_GET['chaine'])
{
case voirtout:
include("bddconnect.php");
$resultat=mysql_query("SELECT * FROM table WHERE chaine='TF1' OR chaine='france2' OR chaine='france3'");
break;
case TF1:
$resultat = mysql_query("SELECT * FROM table WHERE chaine='TF1'");
break;
case france2:
$resultat = mysql_query("SELECT * FROM table WHERE chaine='france2'");
break;
case france3:
$resultat = mysql_query("SELECT * FROM table WHERE chaine='france3'");
break;
}
?>
voici mon code, j' ai essayé de faire 2 méthodes (je sais pas laquelle a des chances de fonctionner ?) merci
<h1>Comment afficher l'option quand on on lance la requete ? - methode 1</h1>
<form method="post" action="">
<select name="select" onChange="this.form.submit();" >
<option value="voirtout">Toutes les chaines</option>
<option value="TF1">TF1</option>
<option value="france2">France2</option>
<option value="france3">France3</option>
</select>
</form>
<h1>Comment afficher l'option quand on on lance la requete ? - methode 2</h1>
<form action="articles.php" name="articles" method="get">
<select name="chaine">
<option value="voirtout" onclick='this.form.submit();'>tous les articles</option>
<option value="TF1" onclick='this.form.submit();'>TF1</option>
<option value="france2" onclick='this.form.submit();'>france2</option>
<option value="france3" onclick='this.form.submit();'>france3</option>
</form>
<?php
switch ($_GET['chaine'])
{
case voirtout:
include("bddconnect.php");
$resultat=mysql_query("SELECT * FROM table WHERE chaine='TF1' OR chaine='france2' OR chaine='france3'");
break;
case TF1:
$resultat = mysql_query("SELECT * FROM table WHERE chaine='TF1'");
break;
case france2:
$resultat = mysql_query("SELECT * FROM table WHERE chaine='france2'");
break;
case france3:
$resultat = mysql_query("SELECT * FROM table WHERE chaine='france3'");
break;
}
?>
Ok,
L'utilisation d'un switch ici n'a pas son utilité car les cas correspondent aux requettes SQL.
Si il n'y a pas de problème dans ta bdd ton code pourrai se résumer a cela:
(reprise de la méthode 2)
Attention a ton formulaire:
Ferme bien ton select avant le formulaire
En relisant il me semble avoir fait une erreur en traitant ton problème, je m'explique:
Tu choisis un champ de la liste déroulante (select) et quand le résultat s'affiche la liste reste toujours sur le premier choix ?
Si c'est le cas il faut mettre dans chacune de tes <option>:
En espérant que ça marche.
L'utilisation d'un switch ici n'a pas son utilité car les cas correspondent aux requettes SQL.
Si il n'y a pas de problème dans ta bdd ton code pourrai se résumer a cela:
(reprise de la méthode 2)
<?php include("bddconnect.php"); $chaine = $_GET['chaine'] if ($chaine == "voirtout") { $resultat=mysql_query("SELECT * FROM table"); } else { $resultat=mysql_query("SELECT * FROM table WHERE chaine = '$chaine' "); } ?>
Attention a ton formulaire:
<form action="articles.php" name="articles" method="get"> <select name="chaine" onChange="this.form.submit();"> <option value="voirtout">tous les articles</option> <option value="TF1">TF1</option> <option value="france2">france2</option> <option value="france3">france3</option> </select> </form>
Ferme bien ton select avant le formulaire
En relisant il me semble avoir fait une erreur en traitant ton problème, je m'explique:
Tu choisis un champ de la liste déroulante (select) et quand le résultat s'affiche la liste reste toujours sur le premier choix ?
Si c'est le cas il faut mettre dans chacune de tes <option>:
<option value="TF1" <?php if($_GET['chaine'] == "TF1") { ?>selected="selected"<? } ?>>TF1</option>
En espérant que ça marche.
Les résultats de ta sélection dépend de tes values dans ton select (je ne serai pas étonné que tu trouve la même chose pour TF1, France2 et France3),
ce n'est pas le formulaire qui pose problème (mise a part les values) mais la gestion des réponses avec ton $_POST['select'].
Si tu ne vois pas d'où ça viens dans cette gestion, link ton code qui génère les résultats.
ce n'est pas le formulaire qui pose problème (mise a part les values) mais la gestion des réponses avec ton $_POST['select'].
Si tu ne vois pas d'où ça viens dans cette gestion, link ton code qui génère les résultats.
Bonjour
Merci pour ton aide
Voici mon script final en suivant tes conseils :
Il semble qu'il reste une erreur:
Notice: Undefined index: chaine in C:\wamp\www\TEST\articles.php on line 6
Voici le script final :
<h1>Comment lancer des requetes à partir d'une liste déroulante?</h1>
<?php
include("bddconnect.php");
$chaine = $_GET['chaine'];
if ($chaine == "voirtout") {
$resultat=mysql_query("SELECT * FROM table");
} else {
$resultat=mysql_query("SELECT * FROM table WHERE chaine = '$chaine' ");
}
?>
<form action="articles.php" name="articles" method="get">
<select name="chaine" onChange="this.form.submit();">
<option value="voirtout">tous les articles</option>
<option value="TF1">TF1</option>
<option value="france2">france2</option>
<option value="france3">france3</option>
</select>
</form>
<h1>Programme TV</h1>
<table width="390" align="center" border="0" style="border:solid 1px lightblue;" cellspacing="0" cellpadding="0">
<tr>
<th class="espace" style="background:lightblue">Heure</th>
<th class="espace" style="background:lightblue">Film</th>
<th class="espace" style="background:lightblue">Chaine</th>
</tr>
<?php while ($donnees= mysql_fetch_assoc($resultat)) { ?>
<tr>
<td align="center" class="espace6"><?php echo $donnees['heure'];?></td>
<td align="center" class="espace6"><?php echo $donnees['film'];?></td>
<td align="center" class="espace6"><?php echo $donnees['chaine'];?></td>
</tr>
<?php } ?>
</table>
Merci pour ton aide
Voici mon script final en suivant tes conseils :
Il semble qu'il reste une erreur:
Notice: Undefined index: chaine in C:\wamp\www\TEST\articles.php on line 6
Voici le script final :
<h1>Comment lancer des requetes à partir d'une liste déroulante?</h1>
<?php
include("bddconnect.php");
$chaine = $_GET['chaine'];
if ($chaine == "voirtout") {
$resultat=mysql_query("SELECT * FROM table");
} else {
$resultat=mysql_query("SELECT * FROM table WHERE chaine = '$chaine' ");
}
?>
<form action="articles.php" name="articles" method="get">
<select name="chaine" onChange="this.form.submit();">
<option value="voirtout">tous les articles</option>
<option value="TF1">TF1</option>
<option value="france2">france2</option>
<option value="france3">france3</option>
</select>
</form>
<h1>Programme TV</h1>
<table width="390" align="center" border="0" style="border:solid 1px lightblue;" cellspacing="0" cellpadding="0">
<tr>
<th class="espace" style="background:lightblue">Heure</th>
<th class="espace" style="background:lightblue">Film</th>
<th class="espace" style="background:lightblue">Chaine</th>
</tr>
<?php while ($donnees= mysql_fetch_assoc($resultat)) { ?>
<tr>
<td align="center" class="espace6"><?php echo $donnees['heure'];?></td>
<td align="center" class="espace6"><?php echo $donnees['film'];?></td>
<td align="center" class="espace6"><?php echo $donnees['chaine'];?></td>
</tr>
<?php } ?>
</table>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J arrive pas a récupérer la value dans ma requete
et la variable chaine n'est pas définie
<h1>Comment lancer des requetes à partir d'une liste déroulante?</h1>
<form action="articles.php" name="formulaire" method="get">
<select name="chaine" id="chaine" onChange="this.form.submit();">
<option value="voirtout" <?php if($_GET['chaine'] == "toutes les chaines") { ?>selected="selected"<? } ?>>toutes les chaines</option>
<option value="TF1" <?php if($_GET['chaine'] == "TF1") { ?>selected="selected"<? } ?>>TF1</option>
<option value="France2" <?php if($_GET['chaine'] == "France2") { ?>selected="selected"<? } ?>>France2</option>
<option value="France3" <?php if($_GET['chaine'] == "France3") { ?>selected="selected"<? } ?>>France3</option>
</select>
</form>
<?php
include("bddconnect.php");
$chaine = $_GET['chaine'];
if ($chaine == "voirtout") {
$resultat=mysql_query("SELECT * FROM tv");
} else {
$resultat=mysql_query("SELECT * FROM tv WHERE chaine='TF1' ");
}
?>
<h1>Programme TV</h1>
<table width="390" align="center" border="0" style="border:solid 1px lightblue;" cellspacing="0" cellpadding="0">
<tr>
<th class="espace" style="background:lightblue">Heure</th>
<th class="espace" style="background:lightblue">Film</th>
<th class="espace" style="background:lightblue">Chaine</th>
</tr>
<?php while ($donnees= mysql_fetch_assoc($resultat)) { ?>
<tr>
<td align="center" class="espace6"><?php echo $donnees['heure'];?></td>
<td align="center" class="espace6"><?php echo $donnees['film'];?></td>
<td align="center" class="espace6"><?php echo $donnees['chaine'];?></td>
</tr>
<?php } ?>
</table>
et la variable chaine n'est pas définie
<h1>Comment lancer des requetes à partir d'une liste déroulante?</h1>
<form action="articles.php" name="formulaire" method="get">
<select name="chaine" id="chaine" onChange="this.form.submit();">
<option value="voirtout" <?php if($_GET['chaine'] == "toutes les chaines") { ?>selected="selected"<? } ?>>toutes les chaines</option>
<option value="TF1" <?php if($_GET['chaine'] == "TF1") { ?>selected="selected"<? } ?>>TF1</option>
<option value="France2" <?php if($_GET['chaine'] == "France2") { ?>selected="selected"<? } ?>>France2</option>
<option value="France3" <?php if($_GET['chaine'] == "France3") { ?>selected="selected"<? } ?>>France3</option>
</select>
</form>
<?php
include("bddconnect.php");
$chaine = $_GET['chaine'];
if ($chaine == "voirtout") {
$resultat=mysql_query("SELECT * FROM tv");
} else {
$resultat=mysql_query("SELECT * FROM tv WHERE chaine='TF1' ");
}
?>
<h1>Programme TV</h1>
<table width="390" align="center" border="0" style="border:solid 1px lightblue;" cellspacing="0" cellpadding="0">
<tr>
<th class="espace" style="background:lightblue">Heure</th>
<th class="espace" style="background:lightblue">Film</th>
<th class="espace" style="background:lightblue">Chaine</th>
</tr>
<?php while ($donnees= mysql_fetch_assoc($resultat)) { ?>
<tr>
<td align="center" class="espace6"><?php echo $donnees['heure'];?></td>
<td align="center" class="espace6"><?php echo $donnees['film'];?></td>
<td align="center" class="espace6"><?php echo $donnees['chaine'];?></td>
</tr>
<?php } ?>
</table>