Gestion Table et select
Jérôme
-
ceddec Messages postés 149 Statut Membre -
ceddec Messages postés 149 Statut Membre -
Bonjour,
J'ai 2 tables :
- Genre_tbl : idgenre(P) , genre
- links : id(P), idgenre, description, adresse
Le but de la page est de faire un carnet d'adresse HTML classé par genre. La table genre_tbl me permet de faire un "catalogue" des genre (5 ou 6 au final), l'autre table a emmagaziner les adresses. Ces tables sont liées par idgenre.
Mon code :
Mon select me permet de choisir le genre et d'affichier automatiquement la liste des adresses correspondante dessous (je n'ai pas rajouter cette partie de code, qui aurait encombrer)
J'aimerai que mon select garde afficher la derniere valeur selectionner : probleme j'affiche dans le select "genre" mais c'est bien "idgenre" qui est traité.
Comment faire pour garder la derniere valeur genre dans mon select
(j'ai pas du etre claire ... mais pas facil a expliqué)
J'ai 2 tables :
- Genre_tbl : idgenre(P) , genre
- links : id(P), idgenre, description, adresse
Le but de la page est de faire un carnet d'adresse HTML classé par genre. La table genre_tbl me permet de faire un "catalogue" des genre (5 ou 6 au final), l'autre table a emmagaziner les adresses. Ces tables sont liées par idgenre.
Mon code :
<?php
// Creation du select
$sql2='SELECT * FROM genre_tbl';
$query2 = mysql_query($sql2);
?>
<form name="form" method="post" action="index.php?page=links">
<select name="choix" onchange=form.submit()>
<option selected></option>
<?php
while ($data2 = mysql_fetch_array ($query2))
{
?>
<option value="<?php echo $data2['idgenre']; ?>" > <?php echo $data2['genre'];?></option>
<?php //}
}?>
</select>
</form>
Mon select me permet de choisir le genre et d'affichier automatiquement la liste des adresses correspondante dessous (je n'ai pas rajouter cette partie de code, qui aurait encombrer)
J'aimerai que mon select garde afficher la derniere valeur selectionner : probleme j'affiche dans le select "genre" mais c'est bien "idgenre" qui est traité.
Comment faire pour garder la derniere valeur genre dans mon select
(j'ai pas du etre claire ... mais pas facil a expliqué)
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
J'ai rajouter apres le select la ligne :
<option selected><?php if(isset($_POST[choix])) { echo $_POST[choix]; } ?></option>
Celle ci ne me conserve bien la valeur du select mais non pas en affichant "genre" mais "id genre"... (en gros 1, 2 ou 3 au lieu de info, musique, divers)
J'espere que ca vous aidera a interprété mon prbleme -
Bonjour,
En fait, il ne faut pas mettre de selected en brut comme tu l'as fais.
Si la variable $_POST[choix] n'est pas définie alors tu mets le selected dans le premier option
Sinon tu compares l'idgroup que tu es en train d'ajouter dans ta liste avec la variable $_POST[choix] si c'est pareil, tu ajoutes selected sinon tu n'inseres rien.
Ca donnerai quelque chose comme ca :
<form name="form" method="post" action="index.php?page=links"> <select name="choix" onchange=form.submit()> <?php if(isset($_POST[choix])) $d=''; else $d='selected'; ?> <option <?php echo $d;?>></option> <?php while ($data2 = mysql_fetch_array ($query2)) { if(isset($_POST[choix]) && $_POST[choix]==$data2['idgenre']) $d='selected'; else $d=''; ?> <option value="<?php echo $data2['idgenre']; ?>" <?php echo $d;?>> <?php echo $data2['genre'];?></option> <?php //} }?> </select> </form>