Bonjour,

Tout est dis dans le titre. Je souhaiterais avoir une liste deroulante qui est dependante d'une autre liste deroulante.

Voici ce que j'ai fais. Je crois savoir qu'il faut utiliser ajax ou du js. Seul souci je ne m'y connais pas du tout.

De plus j'ai une certaine structure de mon site et je voudrais la garder. Je ne sais pas trop comment l'adapter. Donc je recherche une solution alternative.
JE vous mets mon code.

rechercheCatArticle.php qui va permettre de rechercher un article en fonction dee liste deroulante.
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
<?php
 
  // a placer en TOUT debut de chaque page
  session_start();
  if(! isset($_SESSION['nom'])) {
    header('Location: session_form.html');
    exit();
  }
include "DB.inc.php";
include "fctAux.inc.php";
  enTete();
  contenu();
  pied();
 
  function contenu(){
 
	menu();
 
	$requete = "select distinct(d_name) from dcs_v order by D_NAME";
	$requete2 = "select distinct(c_name) from dcs_v where d_name  = '".mysql_real_escape_string ($nom)."' order by C_NAME";
	$requete3 = "select distinct(s_name) from dcs_v order by S_NAME";
 
 
 
	$db = new DB();
	$t = $db->select($requete);
 
	$selected = '';
	echo '<select name="department">',"\n";
	for ($i = 0; $i < count($t); $i++) {
			$tuple =  $t[$i];
			echo "\t",'<option value="', $tuple->D_NAME ,'"', $selected ,'>', $tuple->D_NAME ,'</option>',"\n";
			$selected='';
	}
 
	echo '</select>';
	echo '<br>';
 
	echo $tuple->D_NAME;
 
	$db = new DB();
	$t = $db->select($requete2);
 
	$selected2 = '';
	echo '<select name="class">',"\n";
 
 
	for ($i = 0; $i < count($t); $i++) {
			$tuple =  $t[$i];
			echo "\t",'<option value="', $tuple->C_NAME ,'"', $selected2 ,'>', $tuple->C_NAME ,'</option>',"\n";
			$selected2='';
	}
}
?>
DB.inc.php (qui fais office de connexion a la base et une fonction permettant l'execution de mes requetes).
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
<?php
// classe d'interface avec la base de donnees postgresql
 
    class DB{
 
	/************************************************************************/
	//	Connexion à la base
	/************************************************************************/
        private function connect(){
                $connexion=OCILogOn("reportuser", "report", "SEPHO_DK")
                        or die("Impossible de se connecter");
                return $connexion;
        }
 
	/***************************************************************/
        // Fermeture de la connexion
        /***************************************************************/
        private function close($connexion){
                OCIlogoff($connexion);
        }
 
	/***************************************************************/
        // SELECT generique sur une table quelconque
        /***************************************************************/
        function select($requeteSQL){
		$tab=array();
                $connexion=DB::connect();
                $row = 0;
                $reponse = OCIParse($connexion, $requeteSQL);
				OCIExecute($reponse);
		while ($tuple = oci_fetch_object($reponse)){
		      $tab[$row]=$tuple;
		      $row++;
                }       
                DB::close($connexion);	
                return $tab;
        }
 
	/***************************************************************/
        // MAJ generique sur une table quelconque
        /***************************************************************/
        function maj($requeteSQL){
                $connexion=DB::connect();
                OCIExecute($connexion, $requeteSQL) or die("requete impossible !\n");
                DB::close($connexion); 
        }
    }
?>
fctAux.inc.php (qui permet de faire toute la structure de mon site)
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
<?php
 
	function enTete() {
		echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\"http://www.w3.org/TR/html4/loose.dtd\">\n";
		echo "<html>\n";
		echo "<head>\n";
		echo "<link href=\"miseEnPage.css\" type=\"text/css\" rel=\"stylesheet\">";
		echo "<title>RP Consulting</title>\n";
		echo "</head>\n";
		/*echo "<body style=\"background:url('lanvin3.jpg') no-repeat; -webkit-background-size: cover; -moz-background-size: cover;
-o-background-size: cover;
background-size: cover; \">\n";*/
	echo "<body bgcolor=\"#DBE6E5\">\n";
	}
 
	function pied(){
	echo'
		</body>
		</html>
	';
	}
 
	function menu(){
 
	echo '
	<div class="haut">
		<div class="hautGauche">
		<img src="lanvin4.jpg">
		</div>
		<div class="hautCentre">
		RP Consulting  </div>
		</div>
		</div>
		
		
		<div class="milieu">
		
		<div class="menu">
		
		Search
		<ul>
			<li><a href="rechercheClient.php">Customers</a>
			<li><a href="rechercheArticle.php">Classic search Items</a>
			<li><a href="rechercheCatArticle.php">Categorie search Items</a>
		</ul>
		
		Others
		<ul>
			<li><a href="about.php">About</a>
			<li><a href="deconnexion.php">Disconnect</a>
		</ul>
		
		</div>
	';	
	}	
 
?>
Je ne vois pas trop comment adapter cela.

J'espere que vous pourrez m'aider.

Cordialement,