Input select selected

Résolu/Fermé
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 - 14 juin 2010 à 17:48
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 - 14 juin 2010 à 21:23
Bonjour à tous,

Mon formulaire de création d'articles offre la possibilité de les modifier, lorsqu'on est administrateur. Donc lorsqu'on clique sur 'modifier l'article' , on se retrouve sur le même formulaire mais avec les champs pré-remplis. Jusque-là c'est okay.

Ca marche pour les input[type="texte"] et le textarea, seulement pour le select je ne sais pas comment procéder.
Quand je récupère les informations, je vais chercher dans ma table, je fais un : $données = mysql_fetch_array($query); pour avoir : $titre = stripslashes(données['titre']); . ( Idem pour les autre champs ! )

Comment dois-je remplir mon : <input select name="values"><option value="value1"></option><option value="value2"></option></select> pour qu'il affiche value1 ou value2 suivant ce qu'il récupère de la table ?

Merci d'avance,
Cordialement.
LelLex.

10 réponses

LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 19:10
Ah voilà, très bien a70m !

Je chercher l'écriture de select="selected" ; car je faisait : selected="$select" et bien sûr ça ne marchait pas. ;)
2
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 juin 2010 à 19:23
Bonne continuation !
A la prochaine peut être (On s'est déjà croisé pas mal de fois ici !)

Cordialement
a70m
2
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 19:33
Merci. ;)
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
Modifié par LelLex le 14/06/2010 à 21:23
C'est bon, j'ai trouvé : pour sélectionner un élément d'un <option> ; il faut mettre selected="selected" et non pas select="selected" !

Merci a70m !
1
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
Modifié par a70m le 14/06/2010 à 18:41
Salut,

A l'envoi de ton article, rajoute un paramètre dans ta base de données
'select' par exemple.

Dans ta requête tu le rajoutes à l'enregistrement.

Et à la modif, tu mets un if comme ceci :

<input select name="values"> 
<option value="value1" <?php if($select == "value1") { echo "select='selected'" ; ?>></option> 
<option value="value2" <?php if($select == "value2") { echo "select='selected'" ; ?>></option> 
</select> 


Cordialement
Si un jour, l'envie de travailler te prends, assied-toi et attends que ca passe ...
Les boulets, on ne les aime que dans les quotes ! Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 20:26
Je viens d'essayer, et surprise ! Ca ne marche pas.!
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 juin 2010 à 20:31
Je crois savoir pourquoi

A l'ajout de ton article tu auras :

$select = $_POST['values'] ;


Ensuite, ta requête :

select='$select'



A l'affichage :

$select_sql = $donnees['select'];



Et on reprend le bout de code de tout à l'heure : en modifiant le nom de la variable ...

<input select name="values"> 
<option value="value1" <?php if($select_sql == "value1") { echo "select='selected'" ; ?>></option> 
<option value="value2" <?php if($select_sql == "value2") { echo "select='selected'" ; ?>></option> 
</select> 


Cordialement
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 20:50
C'est ce que je faisait déjà :

$value = données['value'];

<option value="value1" <?php if($value == 'value1') {echo 'select="selected"';} ?>>value1</option>
( Idem pour le reste, sauf les valeurs ! )


Donc quand je regarde le code source de la page chargée, avec un article qui avait la value2, j'ai toujours le premier <option> d'affiché, ici : value1 ; alors que j'ai bien :
<option value="value1" >value1</option>
<option value="value2" select="selected">value2</option>


Tu es sûr que je dois le mettre là select="selected" ?
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 20:53
Autrement il y a un autre moyen, mais je ne veux pas le faire ; car c'est trop barbare !

Du style :
if($value == '0')
{
// Mettre tous les <option>
}
else if($value == 'value1')
{
// Mettre seulement l'<option> value1
}
else if($value == 'value2')
{
// Mettre seulement l'<option> value2
}
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 juin 2010 à 20:53
Perso, j'utilise ceci sur le panel des utilisateur de mon site, où le niveau d'accès est coché ...

Et j'avais mis des if dans le <option>

Je pense que tu as un soucis au niveau du nom de tes variables, vérifie-les bien ;)

Cordialement
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 21:13
J'ai pas de problèmes de noms de variables, puisque mon navigateur affiche bien, si il retour la value2 :
<option value="value2" select="selected">value2</option>
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 juin 2010 à 21:14
Où est le problème alors ^o) ?
0
LelLex Messages postés 1628 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 5 septembre 2012 112
14 juin 2010 à 21:18
Dans le formulaire, c'est toujours le premier <option> qui est affiché dans <select></select> !
0
a70m Messages postés 2763 Date d'inscription jeudi 21 mai 2009 Statut Contributeur Dernière intervention 2 février 2014 217
14 juin 2010 à 20:56
A quoi correspondront ces "value1" et "value2" ?

Peut-être y'aurait-il un autre moyen de coder tout ça :)
0