Pour mon site, je veux créer un formulaire avec 2 listes déroulantes sur lesquelles.
si on selectionne une valeur dans la premiere liste (onChange),
je veux que la deuxieme liste soit remplie automatiquement partir d'une table mySQL.
par exemple si je selectionne FRANCE dans la liste1 (qui contient les pays), je veux que la liste2 (qui contient les villes) m'affiche les grandes villes de FRANCE (qui sont generalement dans une table myql).
j'ai pu remplir la liste des pays et non celle des villes (avec php bien sur)
si quelqu'un peut me donner un coup de main.
merci.
Si tu fais ça en php, c'est peut-être pas très judicieux, vu qu'il faudra recharger ta page à chaque clic dans le premier menu pour afficher la liste dans le 2e... Mais c'est possible. Par ex : tu link ta valeur de la première liste (France par ex) dans une variable GET et après tu fais une boucle avec condition en php pour dire que si GET existe alors il faut lister toutes les valeurs en dépendant depuis ta table mysql (par ex, il faudra 2 champ par ville : un avec le nom de la ville et un avec le nom du pays). Essaie d'écrire un début de code et on t'aidera à le finir si tu n'y arrives pas
Oriente plutôt vers du javascript pour le faire. Mais dans ce cas je ne peux pas t'aider, je ne connais pas assez le javascript
merci pour tout marsien!
ça me touche beaucoup du fait d'essayer.
je vais tout de meme te presenter ma bd avant de vous envoyer le code.
tpays(idpays*,pays); tville(idpays*,idville*,ville);
j'éspere que tu pourras me donner un coup de main, l'essentiel pour moi que ça puisse marcher.
Voilà un exemple de ce qui pourrait être fait en php. Je laisse le soin à ceux qui connaisse l'ajax (javellisant ou non ) de proposé une solution en tirant parti.
Je t'ai commenté le code ci-dessous pour que tu t'y retrouves. Il n'y a rien de très compliqué, mais si il y a un truc qui te parait obscur, n'hésite pas demander
Code :
<form method="post" name="fvn" action="test2menuderoulants.php"> <!-- on recharge la page avec le nouveau paramètre induit par la validation d'une option dans le premier menu déroulant, c'est-à-dire la sélection d'un pays -->
<input name="submit" type="submit" value="Envoyer"> <!-- peut être remplacer par un javascript onChange... -->
<br><br>
</form>
<br>
<form method="post" name="fvn" action="test2menuderoulants.php"><!--comme pour le premier menu déroulant, on peut recharger la page en appliquant le nouveau paramètre, c'est-à-dire le choix de la ville -->
<br>
Ville
<select name="ville" size="1" id="ville">
<option value="%" selected></option>
<?php
if(isset($_POST['pays'])) // on vérifie qu'un pays à bien été sélectionné
{
$requet = 'SELECT * FROM ville WHERE idpays=' . $_POST['pays'] . ' ORDER BY ville'; // on choisit dans la table ville les villes dont le pays correspond à la variable POST, c'est-à-dire à celui qui avait été sélectionné dans le 1er menu déroulant et on les classe par ordre alphabétique
C'est vrai, mais vu le principe du script, je ne le jugeais pas nécessaire. Ce sont des listes déroulantes fermées dont le contenu est issu de bases sql a priori sans erreurs...
Voila 99.9% des bugs, des trous de sécurités et autres mauvaises surprises dans notre domaine Je crois que je n'ai pas laissé assez de % pour la malveillance