[RESOLU] Formulaire, liaison entre deux listes déroulantes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Formulaire, liaison entre deux listes déroulantes

Re: Formulaire, liaison entre deux listes déroulantes

par Ryle » 15 juin 2015, 16:30

c'est une vieille version de php.. je suis avec wampserver avec apache 2.4.9
Ca veut dire que pratiquement toutes les fonctions qui commencent par mysql sont obsolètes.
Nan mais ça c'est parce que l'auteur du tuto était déjà lui même vieux et obsolète à l'époque :langue: (aïe, non, patapé, patapé !!)

Plus sérieusement, effectivement, les fonction mysql_* ne sont plus utilisées, mais tu peux aisément remplacer ces fonctions en ajoutant un "i", ou en les passant sur PDO. Ce n'est au final que l'exécution des requêtes SQL qui change, par le principe de mise à jour dynamique des listes déroulantes ;)

Re: Formulaire, liaison entre deux listes déroulantes

par luMA » 15 juin 2015, 15:25

Merci pour les réponses mais tof73 ta correction ne marche malheureusement pas et le tuto sur les listes déroulantes est parfait c'est exactement ce que je veux mais c'est une vieille version de php.. je suis avec wampserver avec apache 2.4.9
Ca veut dire que pratiquement toutes les fonctions qui commencent par mysql sont obsolètes.

donc je commence à perdre espoir!

Re: Formulaire, liaison entre deux listes déroulantes

par Ryle » 15 juin 2015, 12:24

Bonjour,

Tu trouveras dans la FAQ un tutoriel qui devrait t'aider pour la gestion de listes liées :

Formulaires : Listes déroulantes dynamiques liées

Re: Formulaire, liaison entre deux listes déroulantes

par tof73 » 15 juin 2015, 12:21

$reponse2=$bdd -> query("SELECT * FROM liste_commune WHERE DEPARTEMENT ='$dept_choisi'");

apres une liste deroulante de 900 communes, c'est discutable sur le plan ergonomique.

Formulaire, liaison entre deux listes déroulantes

par luMA » 15 juin 2015, 11:44

Bonjour,
J'ai une liste "départements" et une liste "communes" je souhaite que lorsqu'on click sur un département, la liste communes se modifie pour qu'on voit juste les communes du départements choisi

Mes formulaires sont reliés a une base de données phpmyadmin
Je ne sais pas utiliser le java alors j'ai fais des boutons submit a la place ( niveau résultat c'est moins classe)

mais je ne sais pas comment faire pour appeler ma variable $dept_choisi dans ma requête sql pour ma deuxième liste des communes.
<!-- CREATION DU FORMULAIRE DEPARTEMENTS -->
	<DIV id="formulaire_departement" >
	<LABEL> Départements:</label>
		<FORM name="form" id="form" action="formulaire.php" method="post">
		<select name="liste">
						<option value = 0> Choisir un département </option>
						
		
		
	
				<?php
						$bdd = new PDO('mysql:host=localhost;dbname=******;charset=utf8', 'root', '') or
						die("Impossible de se connecter : " . mysql_error());
				
						
						
						$reponse=$bdd -> query('SELECT * FROM liste_departement');
						
						while ( $donnees =$reponse -> fetch())
						{
						echo'<option selected="'.$donnees['value'].'">'.$donnees['DEPARTEMENT'].'</option>';
						} 
					
						
						?>
						
						<INPUT type="submit" name="valider" value="valider"><BR/>
						<?php
						
						
						if(isset($_POST['valider'])){
						//RECUPERATION DU NOM SAISI
						$dept_choisi=$_POST['liste']; 
						echo $dept_choisi;
						}
		                ?>
		
		
		<!-- CREATION DU FORMULAIRE COMMUNES -->
	 	<DIV id="formulaire_communes" >
	<LABEL> Communes:</label><center>
		<FORM name="form2" id="form2" action="formulaire.php" method="post">
	
				<?php
						$bdd = new PDO('mysql:host=localhost;dbname=*******;charset=utf8', 'root', '') or
						die("Impossible de se connecter : " . mysql_error());
						
							

				?>
						<select name="liste2">
						<option value = 0> Choisir une commune </option>
				<?php
						$reponse2=$bdd -> query('SELECT * FROM liste_commune WHERE DEPARTEMENT ='<?php$dept_choisi?>'');
						
						while ( $donnees2 =$reponse2 -> fetch())
						{
						 echo'<option value="'.$donnees2['value'].'">'.$donnees2['NOM'].'</option>';
						} 
						;
				?>			

						</select>
		</FORM></center>