Récupérer les données d'un select, et non les valeurs

Eléphant du PHP | 80 Messages

31 janv. 2012, 16:29

Bonjour ..

J'ai cherché sur le forum, et finalement, j'ai pas l'information de la faisabilité ou pas ..

En fait, j'ai une form en method 'post'. Dedans un select de ce type :
<select name="choix" onchange="submi()">
<option value="1">Une heure avant</option>
<option value="6">6 heures avant</option>
<option value="0">Aujourd'hui</option>
<option value="24">Les dernieres 24 heures</option>
</select>

Il ne m'est pas possible de modifier les Value 1, 6, 0, 24, j'en ai besoin pour d'autres choses.
En fait, une fois le choix fait, j'envoie un mail qui reprend les infos.

Existe-t'il un moyen simple de récuperer l'info '6 heures avant' plutot que la valeur '6'.

Je sais bien qu'on peut utiliser un tableau inversé avec mes données, mais comme ma form comporte plusieurs select (dont les infos necessaires ne sont pas sur la meme table), c'est une façon de limiter le code ..

En vous remerciant
Stéphane

Eléphant du PHP | 209 Messages

31 janv. 2012, 16:41

Bah dans ton value tu mets "6 heures avant" à la place de 6.. Je suis pas sûr d'avoir bien compris la question.

La valeur qui est passée dans ton formulaire est le contenu du value. Tu peux mettre à peu près ce que tu veux dedans et tu pourras le récupérer sous forme de chaîne de caractères.

Eléphant du PHP | 80 Messages

31 janv. 2012, 16:50

On dit en communication que si l'information n'est pas comprise, c'est qu'on s'est mal exprimé.
Alors je reprends ..

Il ne m'est pas possible de modifier les Value 1, 6, 0, 24, j'en ai besoin pour d'autres choses.
Donc, je ne peux pas mettre dans les values : "6 heures avant", je dois conserver "6". <= POSTULAT DE BASE

Pour autant, existe-t'il une commande qui POST la valeur qui se trouve affichée visuellement au niveau du select (ici : "6 heures avant") plutot que la commande habituelle $_POST['choix'] qui me donnera "6" ??

J'espère avoir été plus précis, Merci !! :)

Eléphant du PHP | 209 Messages

31 janv. 2012, 17:03

Ahah donc j'avais sauté une ligne ou deux ou plus :D (désolé ^^')
Pour autant, existe-t'il une commande qui POST la valeur qui se trouve affichée visuellement au niveau du select (ici : "6 heures avant") plutot que la commande habituelle $_POST['choix'] qui me donnera "6" ??
Pas possible non..

Si tu peux simplement ajouter du code dans ton formulaire (j'ai compris que tu ne pouvais pas changer les valeurs), tu peux toujours rajouter via javascript un champ qui va t'ajouter le contenu affiché de l'option dans une nouvelle valeur du formulaire. En gros, avant de poster tu récupères, tu rajoutes un champ dans ton formulaire..

Dans le cas contraire, tu n'as pas d'autres choix que récupérer les libellés à partir de ta base de données.. Ça reste la solution la plus fiable.