Liste déroulante et modification

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 : Liste déroulante et modification

Re: Liste déroulante et modification

par Aureusms » 04 juin 2010, 03:34

J'ai l'impression que tu n'utilises pas les valeurs de ton formulaire (je n'ai pas vu de $_POST ou de $_GET). D'où vient la variable $datae['id_vil']; ?

Liste déroulante et modification

par sam01 » 03 juin 2010, 17:19

Bonjour,

j'ai la liste déroulante suivante

		<p class="double">
			<label for="f1-pays" class="oblig">* Pays :
			<span class="info"></span></label>
			<?php
				
			echo '<select name="ad_pays" class="font" onchange="document.forms[\'form01\'].submit();">';
			
			
				if (empty($ad_pays))
				{
					echo '<option value="-1" selected="selected">Choisir</option>';
				}
				else
				{
					echo '<option value="-1">Choisir</option>';
				}
				// on se connecte à MySQL 
				include ('connect.php');

				$sqla = sprintf("SELECT pays_".$lg." FROM flatforswap_pays ORDER BY pays_".$lg." ASC");
				
				

				$reqa = mysql_query($sqla) or die('Erreur SQL !<br>'.$sqla.'<br>'.mysql_error());
				while($dataa = mysql_fetch_assoc($reqa))
				{
					if ($ad_pays == $dataa['pays_'.$lg.''])
					{
						echo '<option value="'.$dataa['pays_'.$lg.''].'" selected="selected">'.$dataa['pays_'.$lg.''].'</option>';
					}
					if ($ad_pays != $dataa['pays_'.$lg.''])
					{
						echo '<option value="'.$dataa['pays_'.$lg.''].'">'.$dataa['pays_'.$lg.''].'</option>';
					}
				}
			?>

			</select>
		</p>
		
	
		<p class="double">
			<label for="f1-ville" class="oblig">* Ville :
			<span class="info"></span></label>
			<!--<select name="ad_ville" class="font">-->
			<?php
			
			echo '<select name="ad_ville" calss="font" onchange="document.forms[\'form01\'].submit();">'; //  <!-- correspond à l'id du formulaire id="form01" -->
			
			
			echo '<option value="-1">Choisir</option>';
			
			
			// requête de jointure entre la table pays et la table ville
				
									
			
				$sqlb = sprintf("SELECT vl.ville_fr FROM flatforswap_ville vl INNER JOIN flatforswap_pays py ON py.id_pay = vl.id_pay	WHERE py.pays_".$lg." = '".$ad_pays."' ORDER BY vl.ville_fr ASC");
			
				$reqb = mysql_query($sqlb) or die('Erreur SQL !<br>'.$sqlb.'<br>'.mysql_error());
				while($datab = mysql_fetch_assoc($reqb))
				{
					if ($ad_ville == $datab['ville_fr'])
					{
						echo '<option value="'.$datab['ville_fr'].'" selected="selected">'.$datab['ville_fr'].'</option>';
					}
					if ($ad_ville != $datab['ville_fr'])
					{
						echo '<option value="'.$datab['ville_fr'].'">'.$datab['ville_fr'].'</option>';
					}
				}
		
				
				
			?>
			
			
			</select>
		
	
		
		</p>

Lors de l'inscription de l'utilisateur ça marche parafitement.

Mon souci c'est pour la modifications des données

Je vais chercher les infos dans la base mysql et je réaffiche le formulaire

		$id_vil = $datae['id_vil'];
		// on détermine la ville et le code postal
		
		$sqlf = sprintf("SELECT id_pay, ville_fr, ad_cp FROM flatforswap_ville WHERE id_vil='".$id_vil."'");
		$reqf = mysql_query($sqlf) or die('Erreur SQL : <br />'.$sqlf);
		$dataf = mysql_fetch_assoc($reqf);
		$ad_ville = $dataf['ville_fr'];
		echo $ad_ville;
		$ad_cp = $dataf['ad_cp'];
		$id_pay = $dataf['id_pay'];
		
		
		// on détermine le pays
		
		$sqlg = sprintf("SELECT id_con, pays_".$lg." FROM flatforswap_pays WHERE id_pay='".$id_pay."'");
		$reqg = mysql_query($sqlg) or die('Erreur SQL : <br />'.$sqlg);
		$datag = mysql_fetch_assoc($reqg);
		$id_con = $datag['id_con'];
		$ad_pays = $datag['pays_'.$lg.''];
		echo $ad_pays;


Mon formualire s'affiche bien avec les bonnes données, mais quand je veux changer la ville ou le pays dans la liste déroulante, je reviens toujours aux même données....

Ca signifie que l'utilisateur ne peur modifier ni le pays ni la ville....

Merci d'avance pour votre aide.