Lié deux select dans un même formulaire

Signaler
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006
-
Messages postés
11
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2008
-
Bonjour,

dans un formulaire j'ai 2 select.

L'utilisateur doit sélectionner dans les 2 select des valeurs. En fonction de ces 2 valeurs sélectionnées, des liens sont attribué sur ma page.
J'arrive à attribué un lien mais pour un seul selectà la fois !! COmment faire pour qu'il conserve en mémoire le premier select??
J'ai utilisé la fonction : onchange= "this.form.submit();" dans mes select

Voici le début de mon script :
<?php
$hostname="localhost";
$username="root";
$password="root";
$nombase="sirene";
$nomtable="sir_insee";
?>
<?php
// on se connecte à notre base


$link=mysql_connect($hostname, $username, $password);


if (!mysql_connect($hostname, $username, $password))
{
echo "ERREUR PASSWORD";
}
// on se connecte à la table
if (!mysql_select_db($nombase, $link))
{
echo "ERREUR BASE";
exit();
}
$req=mysql_query("select * from $nomtable");
if (!mysql_query("select * from $nomtable"))
{
echo "ERREUR REQUETE";
exit();
}
$result=mysql_fetch_assoc($req);
?>
<html>
<head>
<title>RESULTAT</title>
</head>

- LISTE DES PRINCIPAUX ETABLISSEMENTS :

Sélectionner le fichier souhaité :

<FORM method ="post" action="liste1d.php">
<select name="annee" onchange="this.form.submit();">
<option value=" "> </option>
<option value="sir2002S2" >sir2002S2</option>
<option value="sir2003S2" >sir2003S2</option>
</select>
Le fichier sélectionné est :
<?php
echo $annee;
$var1=($annee);?>
PAR COMMUNE

<TABLE border="0" cellspacing="1" width="60%" align="center">
<TR>
<TD width="30%" align="left">/tabl10<? echo $LIBCOM ; ?>.htm"> POUR LA COMMUNE
<FORM method="post" action="liste1d.php">
<select name="LIBCOM" id="LIBCOM" onchange="this.form.submit();">
<?php
while($result=mysql_fetch_assoc($req))
{
$LIBCOM=$result['LIBCOM'];
echo "<option value=$LIBCOM>$LIBCOM</option>";
}
?>
</select>
<TR>
</TD>
</TR>
<TR>

8 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,



hmmm, tu recuperes comment tes donnees...?
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Comment ça ?,

Bon je m'explique :
En fait, j'ai un premier select dans lequel l'utilisateur sélectionne parmi une liste établie, et un second select qui correspond à des données inscrites dans une table.

Globalement, il doit sélectionner l'année dans un premier temps (liste definie) puis une ville (le nom des communes sont dans une table). Une fois qu'il a sélectionné l'année et la ville. Il y a un lien vers un fichier résultat (statique). En gros, il s'agit de le diriger vers le bon fichier. /tabl10<? echo $LIBCOM ; ?>.htm">
$var1=l'année et $LIBCOM=la ville

En fait je pense qu'il faut rediriger sur la même la page lorsque l'utilisateur à sélectionné les deux select.
Je dis bien qu'il s'agit là de statique (enfin il s'agit de donner à l'utilisateur le bon chemin en fonction de ce qu'il a choisi) mais il n'y a pas de production de fichier. Les fichiers existent déjà. Il faut juste lui donner le bon chemin
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Non, dans un formulaire, on recupere les donnes avec $_POST
Donc, $_POST['LIBCOM'], et pareil pour l'autre.
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

oui mais cela ne fonctionne toujours pas !! J'ai toujours le même problème qui est que il zappe la valeur du 1er select une fois que je sélectionne une autre modalité dans le second et vice et versa !!
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Ben c'est normal, tu fais un submit sur un onchange, donc des qu'un truc change, il soumet...
Ok, bon... un exemple (en corrigeant ton html pourri qui pourrait te poser quelques problemes a l'occasion...) :

echo '<option value="',$LIBCOM,'" ',$selected=(isset ($_POST['LIBCOM'])?'selected':''),'>',$LIBCOM,'</option>';
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
salut,



$_POST['LIBCOM'])?'selected':'')



>



$_POST['LIBCOM'])?'selected="selected"':'')

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Merci cela fonctionne presque bien, il y a juste le problème avec le premier select!!! puisque lorsque l'utilisateur sélectionnne une année là les liens fonctionnent, en revanche si il change la ville le lien reste comme avant??!! Je commence à m'y perdre là !!! je ne m'y retrouve plus !!!
Donc je me ré-explique peut être que quelqu'un aura une combine. Alors il s'agit pour l'utilisateur de sélectionner une année puis de sélectionner une ville et en fonction de ces deux critères, il y a un lien qui va vers le fichier souhaité.
Je remets mon code en l'état, (je sais c'est pas fameux !!!) ...il me manque pas grand chose !!!!!!!!

<?php
$hostname= "localhost";
$username="root";
$password="root";
$nombase="sirene";
$nomtable="sir_insee";
?>
<?php
// on se connecte à notre base


$link=mysql_connect($hostname, $username, $password);


if (!mysql_connect($hostname, $username, $password))
{
echo "ERREUR PASSWORD";
}
// on se connecte à la table
if (!mysql_select_db($nombase, $link))
{
echo "ERREUR BASE";
exit();
}
$req=mysql_query("select * from $nomtable");
if (!mysql_query("select * from $nomtable"))
{
echo "ERREUR REQUETE";
exit();
}
$result=mysql_fetch_assoc($req);
?>
<html>
<head>
<title>RESULTAT</title>
</head>

- LISTE DES PRINCIPAUX ETABLISSEMENTS :

Sélectionner le fichier souhaité :

<FORM method ="post" action="liste1d.php">
<select name="annee" onchange="this.form.submit();">
<option value=" "> </option>
<option value="sir2002S2" >sir2002S2</option>
<option value="sir2003S2" >sir2003S2</option>
</select>
Le fichier sélectionné est :
<?php
echo $annee;
$var1=($annee);?>
PAR COMMUNE

<TABLE border="0" cellspacing="1" width="60%" align="center">
<TR>
<TD width="30%" align="left">/tabl10<? echo $LIBCOM ; ?>.htm"> POUR LA COMMUNE
<FORM method="post" action="liste1d.php">
<select name="LIBCOM" id="LIBCOM">
<?php
while($result=mysql_fetch_assoc($req))
{
$LIBCOM=$result['LIBCOM'];
echo '<option value="',$LIBCOM,'" ',$selected=(isset ($_POST['LIBCOM'])?'selected':''),'>',$LIBCOM,'</option>';
}
?>
</select>
Messages postés
11
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
18 décembre 2008

je viens de poster pour afficher d'un select les valeurs de ce choix dans un autre select...
jette un oeil si sa peut t'aider...
http://www.phpcs.com/forum/sujet-SELECTIONNER-VAL-APRES-AUTRE_1159377.aspx#2