Page 1 sur 1

Afficher la valeur de mon select lors de validation du formulaire

Posté : 10 mars 2016, 08:22
par yoann38
Salut à tous.
J'arrange un peu mon code et je me tourne vers vous car j'ai un ptit soucis

Je n'arrive pas à faire affiché la valeur de la selection de mon select lors de la soumission du formulaire.
J'ai donc mon select en lui même:
<select name="loisir" id="loisir" class="selectpicker max">
<option value=""> Toutes les sorties</option
><?php
asort($aLoisirs);
foreach($aLoisirs as $k => $v) {
$selected = !empty($_REQUEST['loisir']) && ($_REQUEST['loisir'] == $k) ? ' selected="selected"' : NULL;
echo '<option value="'.$k.'"'.$selected.'>'.$v.'</option>'."\n";
}
?>
</select>

Et mes requetes à coté:
$sql .= !empty($_REQUEST['loisir']) ? ' AND `loisirs`.`genre_loisir` = "'.$_GET['loisir'].'"' : NULL; //  $_GET['loisir'] correspond à "couture" par exemple
Donc le but est de parcourcir mon array afin d'afficher le choix à l'utilisateur puis de garder en gros son choix....
Merci pour le coup de main :wink:

Re: Afficher la valeur de mon select lors de validation du formulaire

Posté : 10 mars 2016, 09:10
par Spols
Tu es sur de devoir utiliser GET ??
Tu utilise REQUEST le reste du temps, mais un formulaire est plus souvent transfèrer en POST.
Je pense que si tu reste constant avec REQUEST cela à plus de chance de fonctionner

Re: Afficher la valeur de mon select lors de validation du formulaire

Posté : 10 mars 2016, 15:00
par Ryle
Bonjour,

Ce n'est pas très clair... tu veux ré-afficher la valeur envoyée par le formulaire (auquel cas il faut effectivement t'assurer que celui-ci est envoyé en get et non en post), ou est-ce que c'est l'information envoyée en base qui n'est pas bonne ? ou encore est-ce l'information enregistrée en base que tu veux ré-afficher dans ton formulaire ?

Re: Afficher la valeur de mon select lors de validation du formulaire

Posté : 10 mars 2016, 16:41
par yoann38
Salut à vous.
Donc en fait si vous voulez j'ai quelque chose de fonctionnel mais je cherche à améliorer afin d'avoir une belle url.
Actuellement tout marche très bien lorsque j'ai une url du type:

http://monsite.fr/toutes-les-sorties-10.html
Je cherche à remplacer le 10 par sa valeur soit par exemple "couture"

Donc j'ai pour cela de l'url rewriting avec mon htaccess.
RewriteRule ^toutes-les-sorties-([A-Za-z0-9_-]+).html$ sortie.php?loisir=$1
RewriteRule ^toutes-les-sorties.html sortie.php
#RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php
J'ai ma requete ( j'ai mis les 2 essai de requete la premiere renvoi le numéro la deuxième le type par exemple couture )
$sql .= !empty($_REQUEST['loisir']) ? ' AND `loisirs`.`id_type_loisirs` = "'.$_REQUEST['loisir'].'"' : NULL; // ca nous renvoi le numéro de loisir soit "10" par exemple
	//$sql .= !empty($_REQUEST['loisir']) ? '  AND `loisirs`.`genre_loisir`= "'.$_GET['loisir'].'"' : NULL; // ca nous renvoi la valeur en bdd soit par exemple "couture"
En ensuite mon formulaire donc ou on peut selectionner le loisir:
<div class="col-md-3 col-sm-3 max">
<select name="loisir" id="loisir" class="selectpicker max">
<option value=""> Toutes les sorties</option
><?php
asort($aLoisirs);
foreach($aLoisirs as $k => $v) {
$selected = !empty($_REQUEST['loisir']) && ($_REQUEST['loisir'] == $k) ? ' selected="selected"' : NULL;
echo '<option value="'.$k.'"'.$selected.'>'.$v.'</option>'."\n";
}
?>
</select>
<?php echo !empty($region) ? '<input type="hidden" name="region" value="'.$region.'" />' : NULL; ?>
</div>
L'ensemble du code ci-dessus est fonctionnel pour les url ca filtre bien et tt du moment que l'url ressemble à
http://monsite.fr/toutes-les-sorties-10.html je cherche à faire en sorte que ça marche pour http://monsite.fr/toutes-les-sorties-couture.html

Merci à vous