Bonjour,

j'ai 2 liste déroulante à lier, qui vont chercher les informations dans un fichier .csv.
Cependant la première liste est asser complexe car elle contient 2 colonnes du fichier .csv .
Je souhaite donc relier mes 2 select.

j'ai fait beaucoup de modifications mais sans succes.
Les Marque ici doivent être afficher en fonction de la famille ou sousfamille choisi dans la première liste.
Mais je n'y arrive pas ....Quelqu'un a une idée ?

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 
</head>
<body>
<form  name="form1" method="post" action="">
 
 <fieldset style="width: 1000px">
  <legend>Liste liées</legend>
 
<label>Famille</label>
<select name='Famille' id='idFamille' onchange="document.form1.submit();" >
  <option>--Choix --</option>
<?php
 
			$cat=array();
			$fichier="Produits.csv";
			$var=fopen("$fichier","r+" );
 
			while( !feof($var)) 
			{
 
			          $ligne=fgets($var);
			          $partie=explode(";",$ligne);
			          $famille=$partie[0];
			          $sousfamille=$partie[1];
			          $famille=str_replace('"','',$famille);
			          $sousfamille=str_replace('"','',$sousfamille);
 
			          if (($famille!="" )&&(!isset($_SESSION[$famille]))) // par contre la c'est intelligent de pas mettre de valeur nul
			          {
 
 
			          echo "<OPTION VALUE='$famille' ";
				          //if($famille==$famille) echo " selected ";
				           echo " style='background:rgb(192,192,192)' >".$famille."</OPTION>";
				             $_SESSION[$famille]="aa";
				     }
 
 
			          if (($sousfamille!="" )&&(!isset($_SESSION[$sousfamille]))) // par contre la c'est intelligent de pas mettre de valeur nul
			          {
 
				            echo "<OPTION VALUE='$sousfamille' ";
				          //if($sousfamille==$sousfamille) echo " selected "; 
				           echo " >".$sousfamille."</OPTION>";
				           $_SESSION[$sousfamille]="aaa";
 
 
			          }
 
	}
?>
</SELECT>
 
<?php
if(isset($_POST["Famille"])){ // comme ca, cela ne s'affiche que si tu as sélectionné que la famille.
 
 
         $Vfamille=$_POST["Famille"]// le isset au dessus evitera que t'es une erreur si le post "famille" n'existe pas
?>
 
           <label>Marque</label>
           <select name='Marque'>
           <option>--Choix--</option>
         <?php
         $cat=array();
         $fichier="Produits.csv";
         $var=fopen("$fichier","r+" );
         while( !feof($var))
         {
          $ligne=fgets($var);
          $partie=explode(";",$ligne);
          $famille=$partie[0];//nom de la famille
          $sousfamille=$partie[1];//nom de la sousfamille
         $marque=$partie[2];//marque
 
          if (($Vfamille==$famille)||($Vfamille==$sousfamille)) //si valeur de la famille selectionne egal famille de la ligne selectionne alors on affiche la marque
          {
          echo "<OPTION VALUE=' $marque'>". $marque."</OPTION>";
 
		$_SESSION[$marque]="aa";
            }
}
}
?>
</SELECT>
 
</form>
 
<?php
session_destroy();
?>
</body>
</html>