8722 sujets

Développement web côté serveur, CMS

Bonjour à tous ! J'essaie de récupérer les valeurs de <option> dans le <select>. Mais pas moyen d'y arriver... Voici mon code html et php. Merci beaucoup pour votre aide ! Smiley smile


<div class="form-group-choix">
		<div class="form-group-choix-individuel">
			<span class="custom-dropdown custom-dropdown--white">
			<select name="theme">
				<option value="tous"><?php echo $produits['dimensions']; ?></option>
			</select>
			</span>
		</div>
	</div>		



<?php
if (isset($_POST['theme']))
{
$choix = $_POST['theme'];
if ($choix==1)
{
echo "L'ID est 1 !";
 
}
elseif ($choix==2)
{
echo "L'ID est 2 !";
}
elseif ($choix==3)
{
echo "L'ID est 3 !";
}
}
?>
Modérateur
Salut,

A quoi correspondent les ID 1 2 et 3 ?
Dans ton DOM tu n'a qu'une option avec la value "tous".

Si je ne me trompe pas $_POST['theme'] va te retourner la value de l'option sélectionnée... donc ici ca serait plutot un :
if ($choix === 'tous')

qu'il faudrait faire non ?
En fait je souhaite récupérer la valeur de l'option qui est un ID. En fonction de cette ID je pourrais afficher un texte: "l'ID est 1" par exemple.
Du coup est -ce-que je dois plutôt remplir comme cela ?

<option value="<?php echo $produits['id']; ?>"><?php echo $produits['dimensions']; ?></option>
JENCAL a écrit :
que trouve t-on dans $produits['dimensions']; ?


On trouve différentes dimensions exemple: carré, rectangle, rond etc...
Mon but c'est qu'en fonction qu'on choisisse une dimension alors le texte de description change.
Si on prend rond par exemple le texte dira: "Ceci est un rond"
Modérateur
Ombre67 a écrit :
En fait je souhaite récupérer la valeur de l'option qui est un ID. En fonction de cette ID je pourrais afficher un texte: "l'ID est 1" par exemple.
Du coup est -ce-que je dois plutôt remplir comme cela ?

&lt;option value="&lt;?php echo $produits['id']; ?&gt;"&gt;&lt;?php echo $produits['dimensions']; ?&gt;&lt;/option&gt;


Oui c'est mieux Smiley smile

Tu as testé ?
_laurent a écrit :


Oui c'est mieux Smiley smile

Tu as testé ?


J'ai mis ça à la fin et rien ne s'affiche... Je comprends pas où je fais mal les choses...

echo (isset($_POST['theme'])) ? $_POST['theme'] : '';
Modérateur
Alors pour y voir plus clair il nous faut un code un peu plus complet.
Ton select, une fois généré il donne quoi ?
J'imagine que tu dois avoir un truc comme ça :
<select name="dimensions">
	<option value="carre">carre</option>
	<option value="rectangle">rectangle</option>
	<option value="rond">rond</option>
</select>

On va y aller par étapes et déjà on va afficher ce que tu reçoit.
Pour récupérer et afficher ta valeur en php une fois ton formulaire envoyé tu peux faire :
<?php if (isset($_POST['dimensions'])) {
	echo $_POST['dimensions'];
} ?>

$_POST['dimensions'] vaudra alors carre, rectangle ou rond.
Partant de là, et si ça marche, tu peux aller plus loin en faisant des test comme tu avais fait au début :
<?php if (isset($_POST['dimensions'])) {
	$choix = $_POST['dimensions'];
	if ($choix == 'carre') {
		echo "C'est un carre !";
	}
} ?>
_laurent a écrit :

Pour récupérer et afficher ta valeur en php une fois ton formulaire envoyé tu peux faire :
&lt;?php if (isset($_POST['dimensions'])) {
	echo $_POST['dimensions'];
} ?&gt;




J'ai oublié de préciser que c'est un formulaire sans input... Du coup j'ai fait le code que tu m'as montré mais le echo ne renvoie rien...
Modifié par Ombre67 (12 Apr 2020 - 20:35)
Modérateur
Ombre67 a écrit :

J'ai oublié de préciser que c'est un formulaire sans input... Du coup j'ai fait le code que tu m'as montré mais le echo ne renvoie rien...


pourtant : <?php echo $produits[ 'dimensions']; ?>.

Ombre67 a écrit :
Bonjour à tous ! J'essaie de récupérer les valeurs de &lt;option&gt; dans le &lt;select&gt;. Mais pas moyen d'y arriver... Voici mon code html et php. Merci beaucoup pour votre aide ! Smiley smile


<div class="form-group-choix">
		<div class="form-group-choix-individuel">
			<span class="custom-dropdown custom-dropdown--white">
			<select name="theme">
				<option value="tous"><?php echo $produits['dimensions']; ?></option>
			</select>
			</span>
		</div>
	</div>	


il se trouve dans ton code initial. personne ici n'arrive comprendre ce que tu cherches à faire et si tu as en partie quelque chose qui fonctionne à la vue de ce que tu partages.

Cdt
Modifié par gcyrillus (12 Apr 2020 - 22:13)
gcyrillus a écrit :


il se trouve dans ton code initial. personne ici n'arrive comprendre ce que tu cherches à faire et si tu as en partie quelque chose qui fonctionne à la vue de ce que tu partages.



Je souhaite changer le contenu d'un <p></p> en fonction de l'option sélectionnée dans le select. Ceci sans input. Certains parlent d'AJAX d'autres seulement de JS du coup je ne sais pas quelle méthode prendre...