Input select selected

Résolu
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   -  
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   112
 
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   Statut Contributeur Dernière intervention   217
 
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   Statut Membre Dernière intervention   112
 
Merci. ;)
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
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   Statut Contributeur Dernière intervention   217
 
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   Statut Membre Dernière intervention   112
 
Je viens d'essayer, et surprise ! Ca ne marche pas.!
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
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   Statut Membre Dernière intervention   112
 
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   Statut Membre Dernière intervention   112
 
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   Statut Contributeur Dernière intervention   217
 
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   Statut Membre Dernière intervention   112
 
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   Statut Contributeur Dernière intervention   217
 
Où est le problème alors ^o) ?
0
LelLex Messages postés 1628 Date d'inscription   Statut Membre Dernière intervention   112
 
Dans le formulaire, c'est toujours le premier <option> qui est affiché dans <select></select> !
0
a70m Messages postés 2763 Date d'inscription   Statut Contributeur Dernière intervention   217
 
A quoi correspondront ces "value1" et "value2" ?

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