Listes déroulantes liées

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 : Listes déroulantes liées

par guilt92 » 02 juil. 2008, 11:47

Bonjour,

Tu as déjà posté ce sujet iciet je t'ai déjà répondu... :evil:

Listes déroulantes liées

par chaton1930 » 02 juil. 2008, 11:19

Bonjour,
En faisant quelques recherches suer internet je suis tombé sur "Listes déroulantes liées" qui a été posté dans la rubrique FAQ et tutoriels. C'est tout à fait ce que je cherchais. J'ai choisi la première solution car je développe en php. Mais voila j'ai un petit soucis que je n'arrive malheureusement pas à resoudre malgré plusieurs recherches. Lorsque je sélectionne un item dans ma première liste déroulante c'est toujours le 1er item de la liste qui reste affiché... alors que le bon item est sélectionné car les items de la 2ème liste qui s'affichent sont les bons... En gros c'est un problème d'affichage. Je pense que mon problème est du à "onchange="document.forms['formulaire'].submit();"" mais je vois pas comment y remédier... Ce serait très aimable de votre part d'y jeter un coup d'oeil.
<?php 
$idr = isset($_POST['nom_projet'])?$_POST['nom_projet']:null; 

$bdd = mysql_connect('localhost','root','')
	or die("Erreur de connexion au serveur.");

mysql_select_db('gestion',$bdd)
	or die ("erreur de connexion base");

$sql = 'SELECT DISTINCT nom_projet FROM `sous-projet` ORDER BY nom_projet '; 

$sql1 = 'UPDATE metrique SET commentaire = "" where 1';


$req1 = mysql_query($sql1)
	or die ("erreur1");

$req = mysql_query($sql)
	or die ("erreur2");

$num_ligne = mysql_num_rows($req);

while($row = mysql_fetch_array($req) )
{
	$nom_projet[] = $row['nom_projet'];
}
?>
       

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="onglet.css" />
</head>
<body>

<div class="menu4">
</div>

<div class="menu2">
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="formulaire">
<STRONG> Sélectionner un projet : </STRONG>
	<select name="nom_projet" id="nom_projet" onchange="document.forms['formulaire'].submit();"> 
	<?php for($i=0;$i<$num_ligne;$i++){ ?>
	<option value="<?php echo($nom_projet[$i]) ?>"> <?php ((isset($idr) && $idr == $nom_projet[$i])?" selected=\"selected\"":null) ?> <?php echo $nom_projet[$i] ?></option>
	<?php } ?>
	</select>
<?php
    mysql_free_result($req); 

  if(isset($idr) && $idr != -1)
    { 
	$sql2 = 'SELECT DISTINCT nom_sous_projet FROM `sous-projet`  WHERE `nom_projet` = "'. $idr .'"ORDER BY nom_sous_projet'; 

	$req2 = mysql_query($sql2)
	or die ("erreur3");
	$num_ligne2 = mysql_num_rows($req2);
	//echo $num_ligne2;
	while($row = mysql_fetch_array($req2) )
	{
		$nom_sous_projet[] = $row['nom_sous_projet'];
		//echo $nom_sous_projet[0];
		//echo $nom_sous_projet[1];
	}

}
?>

<P>

<STRONG> Sélectionner un sous projet : </STRONG>
	<select name="nom_sous_projet" id="nom_sous_projet">
	<?php for($j=0;$j<$num_ligne2;$j++){ ?>
	<option value="<?php echo($nom_sous_projet[$j]) ?>"> <?php echo $nom_sous_projet[$j] ?> </option>
	<?php }?>
	</select>
<BR>
<BR>
<BR>
</form>
<form action="edit_export.php? val = <?php $val ?>" method="get">
<INPUT TYPE=SUBMIT value="Valider" > </INPUT> 

</form>
</div>
</body>
</html> 
Merci aux personnes qui prendront le tps de me repondre