Formulaire value en fonction d'un select

Eléphant du PHP | 59 Messages

25 mai 2010, 19:03

Bonjour,

J'ai créé un formulaire dans lequel j'ai un select, où l'utilisateur peut choisir entre catégorie 1 ou catégorie 2 ou catégorie 3 etc....

Lors de la validation le formulaire envoie une url de ce type index.php?field_categorie=categories1&tri=1...
Mon problème se situe au niveau de "tri=".
En faîtes pour toutes mes catégories tri=1 sauf pour catégorie4 ou tri=2

Je voudrais donc pouvoir passer cette valeur à l'envoi du formulaire et ce sans utiliser de javascript.

J'avais donc penser tricher au niveau du select en ajoutant "tri=" dans la value, par ex:

<select name="field_categorie" size="1" class="inputbox" id="field_categorie">
....
<option value="categorie3&tri=1">catégorie 3</option>
<option value="categorie4&tri=2">catégorie 4</option>
......
</select>

mais dans l'url ça me donne index.php?field_select=catégories1%26tri%3D1...

Je voulais donc savoir si quelqu'un avait une solution pour éviter les %, ou une autre solution

Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 mai 2010, 22:23

Sans javascript, tu ne pourras pas changer la valeur d'une variable côté navigateur... par contre, pourquoi ne pas gérer ce cas directement côté php ? Lorsque tu récupères $_GET['field_categorie'], si sa valeur est 4 (ou categorie4) alors tu sais que le tri doit être 2, dans tous les autres cas la valeur sera 1, et comme ça tu ne t'embêtes pas à la spécifier.

Si toutefois tu veux passer deux valeurs dans ton select, tu peux le faire avec un séparateur que tu traiteras ensuite côté php. Par exemple, la valeur "categorie3-1" ou "categorie4-2" que tu exploites ensuite avec un explode('-', $_GET['field_categorie']) pour obtenir un tableau indexé contenant ta catégorie dans le premier champ, et la valeur de ton tri dans le second :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 59 Messages

26 mai 2010, 11:48

Merci Ryle,

J'ai fait la modif côté php

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

26 mai 2010, 14:35

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.