Formulaire sélection base de données

Signaler
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour,
désolé de revenir sur mon problème de formulaire mais il me fait des choses bizarres.
Alors voilà, je résume, j'ai un premier champ select dans lequel l'utilisateur doit sélectionner une année (liste pré-définie), un second champ select dans lequel l'utilisateur doit sélectionner une ville (sélectionnée dans une base de données). En fonction de ces deux choix l'utilisateur visualise le fichier correspondant (lien).
Donc ce que me parait ne pas fonctionner totalement est que : il me manque la première ville de la base de données !!! je comprends pas pourquoi il m'affiche l'ensemble des villes sauf la première !!!
Ensuite, je souhaiterais que une fois que l'utilisateur a sélectionné la ville celle-ci reste apparent dans le select, or là il m'affiche la dernière valeur de ma table???
Est-ce que quelqu'un a une idée?? merci d'avance
Ci-dessous une partie de mon script :

<FORM method="post" action="liste1d.php">


<select name="annee">


<option value=" "> </option>


<option value="sir2002S2" >sir2002S2</option>


<option value="sir2003S2" >sir2003S2</option>


</select>


Le fichier sélectionné est :


<?php


echo $annee;


$var1=($_POST['annee']);?>



----

-PAR COMMUNE

,


<TABLE border="0" cellspacing="1" width="60%" align="center">


<TR>


<TD width="30%" align="left">/tabl10<? echo $chaine = str_replace (' ', '', $_POST['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,'" ',$selected=(isset ($_POST['LIBCOM'])?'selected="selected"':''),'>',$LIBCOM,'</option>';


}


?>


</select>

18 réponses

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



fais voir ta requete, deja ?

Pour ton second pb :

$selected=(isset ($_POST['LIBCOM']) && ($_POST['LIBCOM'] == $LIBCOM)?'selected="selected"':'')
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



pense aussi à passer tes balises en minuscules ainsi que tes noms d'attributs.



Ensuite tes deux champs select sont sur la même page ?
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Et il y a deux opions avec la meme valeur...

<option value="sir2002S2" >sir2002S2</option>


<option value="sir2003S2" >sir2003S2</option>

c'est normal...?
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Voici ma requete ce qu'il y a de plus simple (normalement....):
$req=mysql_query("select * from $nomtable");

Sinon, merci pour mon second problème !! ça fonctionne !!

Sinon, oui mes deux champs select sont sur le même page. ce qui n'est pas sans poser de problème. Car ensuite j'ai des liens qui ne tiennent compte que de l'année sélectionnée, et donc comme il submit lors de la sélection de la ville il garde pas en memoire l'année !!
En tout cas merci !!!
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
ouais, ça sert à rien



ensuite je viens de voir que t'as mis deux formulaires, il n'en faut
qu'un avec les deux select dedans, là c'est normal que tu n'en reçoives
qu'une.

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Ah ben oui, effectivement.
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

oui en effet, désolé mais je débute donc je comprendsp as forcement toutes les fonctions! Donc là j'ai supprimé le 2ème form, mais il me manque plus qu'a récupérer la valeur sélectionner dans l'année !!! car à chaque fois qu'il change de ville l'année disparait!!! Je pensais qu'avec $_POST['annee']) il allait garder la valeur .
Est-ce dans option value qu'il faut changer quelque chose???
merci à vous deux !!!
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
si tu as deux champs select il te faut deux $_POST['nom du select']

<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

Oui j'ai un $_POST['LIBCOM'] et un $_POST['annee'].
Mais dès qu'il change la ville (LIBCOM), et ne garde pas l'année.
En faite, je pense qu'il faut attribué au select annee la valeur sélectionnée lors de la session précédente (comme pour la ville) mais comme il s'agit d'une liste prédéfinie je ne sais pas comment et où mettre ça ??
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Bah tu fais la meme chose, lol. Tu as juste a remplacer LIBCOM par annee. Mais le principe est exactement le meme.
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

ben oui mais je sais pas comment faire pour à la fois permettre à l'utilisateur de sélectionner une année et/ou garder la valeur déjà sélectionner!!! j'suis pas doué !!!
est-ce un truc du genre ??:

echo '<option value="',sir2002S2, sir2003S2'" ',$selected=(isset ($_POST['annee']) && ($_POST['annee'] == $annee)?'selected="selected"':''),'> </option>';
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Non tu remets tes 2 options, avec leur valeur, et tu ajoutes en php le $selected =... etc. E comme c'est dans du html, ouvre le php juste la ou tu en as besoin :
<option value="sir2002s2" <?php echo $selected=... etc ?> >Sir2002s2</option>
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Voici ce que j'ai mis mais à chaque fois il perd la valeur sélectionnée et ne garde pas la valeur sélectionnée dans le select!!!

<select name="annee">
<option value="sir2002s2" <?php echo $selected=(isset ($_POST['annee'])) ?> >Sir2002s2</option>
<option value="sir2003s2" <?php echo $selected=(isset ($_POST['annee'])) ?> >Sir2003s2</option>
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

Alors j'ai changé, j'ai mis :

<option value="sir2002s2" <?php echo $selected=(isset ($_POST['annee'])?'selected="selected"':'') ?> >Sir2002s2</option>
<option value="sir2003s2" <?php echo $selected=(isset ($_POST['annee'])?'selected="selected"':'') ?> >Sir2003s2</option>

Cela semble marcher pour sir2003s2 mais pas sir2002s2. a chaque fois il reprend la valeur sir2003s2 !!!
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Tu as oublie && $_POST['annee']=='sir2002s2'
et pareil pour l'autre evidemment. IL faut tester que ton post soit bien egale a la bonne option de ta liste pour mettre le selected.
Messages postés
244
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
12 juillet 2006

merci cela fonctionne !!!!
Merci à vous !!!
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
T'en prie :-)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>