Garder choix "SELECTED"
Résolu
Heaton
-
Heaton -
Heaton -
A voir également:
- Garder choix "SELECTED"
- Liste déroulante de choix excel - Guide
- Comment garder le 0 devant les chiffres sur excel - Guide
- Excel garder une ligne fixe - Guide
- Fusionner 2 cellule excel et garder contenu - Guide
- Excel supprimer formule mais garder valeur - Forum Excel
5 réponses
pas besoin de cookies
une methode
une methode
<?php //on recupere le choix de la liste1 si postée sinon vide if(isset($_POT['liste1'])) { $choix_liste1=$_POT['liste1'];}else{ $choix_liste1="";} ?> <select name="liste1"> <option value="1" <?php if($choix_liste1==1) { echo 'seleted="selected"'; } ?> >1</option> <option value="2" <?php if($choix_liste1==2) { echo 'seleted="selected"'; } ?> >2</option> <option value="3" <?php if($choix_liste1==3) { echo 'seleted="selected"'; } ?> >3</option> </select>
Bonjour,
Merci pour ta réponse, j'ai essayé d'adapter ta méthode à ma sauce mais ça ne fonctionne toujours pas.
Je poste mon code afin qu'il soit plus facile de trouver ou ça ne fonctionne pas :
Merci pour ta réponse, j'ai essayé d'adapter ta méthode à ma sauce mais ça ne fonctionne toujours pas.
Je poste mon code afin qu'il soit plus facile de trouver ou ça ne fonctionne pas :
<?php $inf="infrastructure"; $typeinf="typeInfra"; $hôte="localhost"; $user="root"; $mdp=""; $bdd="infraname"; $connexion=mysql_connect($hôte,$user,$mdp) or die ("Echec de la connexion au serveur ! Vérifiez que les informations sont correctes"); // test de la connexion if($connexion) { // connexion réussie mysql_select_db($bdd,$connexion); echo '<center>'; echo '<form action="" method="post">'; echo '<b>'.'<center>'."Veuillez sélectionner l'infrastructure que vous souhaitez nommer".'</b>'; echo '<select name="$inf" id="$inf" size="1" onChange="submit();">'; $requete="select * from $inf order by $typeinf;"; // sélection des infrastructures depuis la bdd $resultat=mysql_query($requete,$connexion); $ligne=mysql_fetch_assoc($resultat); function selected($inf,$typeinf) { if($ligne[$typeinf]==$_POST[$inf]) { $selected=$_POST[$inf]; return $selected; } } if(isset($_POST['infrastructure'])) { $s=selected($inf,$typeinf); echo $_POST['infrastructure']; while($ligne) { if($ligne==$s) { echo '<option selected value="'.$ligne["typeInfra"].'">'.$ligne["typeInfra"].'</option>'; $ligne=mysql_fetch_assoc($resultat); } else { echo '<option value="'.$ligne["typeInfra"].'">'.$ligne["typeInfra"].'</option>'; $ligne=mysql_fetch_assoc($resultat); } } } else { while($ligne) { echo '<option value="'.$ligne["typeInfra"].'">'.$ligne["typeInfra"].'</option>'; $ligne=mysql_fetch_assoc($resultat); } } '</select>'; ?>
voir commentaires
<?php //parametres de configuration //si tu initialise ceratians de ces param à une valeur il vaut mieux utiliser la variable ensuite (ex $inf au mieu de 'infrastructure') $inf="infrastructure"; $typeinf="typeInfra"; $hôte="localhost"; $user="root"; $mdp=""; $bdd="infraname"; ////fonctions php, c'est mieux de les mettre au debut, bien que ça ne modifie pas le fonctionnement //je ne me suis pas servis de ta fonction, ça complique inutilement function selected($inf,$typeinf) { if($ligne[$typeinf]==$_POST[$inf]) { //ci dessu tu utilises la varaible tableau $ligne, tu ne l'a pas passée à la fonction ! $selected=$_POST[$inf]; return $selected; } } //// $connexion=mysql_connect($hôte,$user,$mdp) or die ("Echec de la connexion au serveur ! Vérifiez que les informations sont correctes"); // test de la connexion if($connexion) { // connexion réussie mysql_select_db($bdd,$connexion); echo '<center>'; echo '<form name="form1" action="" method="post">'; echo '<b>'.'<center>'."Veuillez sélectionner l'infrastructure que vous souhaitez nommer".'</b>'; //ci dessus si une chaine commence et finit par ' les variables dedans ne sont pas interprétées (ex si tu affiche le code source de ta page tu avait name=$inf $requete="SELECT * FROM $inf ORDER BY $typeinf;"; // sélection des infrastructures depuis la bdd $resultat=mysql_query($requete,$connexion) or die ("Pb avec la requette :".mysql_error()); // $ligne=mysql_fetch_assoc($resultat); // je supose que si tu fais un ORDER BY c'est que tu as plusieurs enr, donc la ligne ci dessu va sortir le premier et placer le pointeur en 2, donc le while ensuite va commencer en 2, donc il te manquerera l'affichage du premier if(isset($_POST[$inf]) { //voir remarque du début de page //si submit suite à choix dans liste1 $choix_liste1=$_POST[$inf]; }else{ //sinon c'est le premier affichage de la liste $choix_liste1="";//on l'initialise à vide, donc par defaut ce sera la premiere ligne qui sera selected } ////affichage de liste1 echo '<select name="'.$inf.'" id="'.$inf.'" size="1" onChange="submit();">'; while($ligne=mysql_fetch_assoc($resultat)){ //debut de la ligne d'option echo '<option value="'.$ligne['typeInfra'].'"'; //si le choix posté est églal à la value de cette ligne on la met seleted if($choix_liste1==$ligne['typeInfra']) echo 'selected="selected"'; //suite ligne d'option echo ' >'.$ligne['typeInfra'].'</option>'; } echo '</select>'; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question