Bonjour

J ai fait un menu onchange qui crée autant de menu qu il y a de parents de la base données. J arrive à faire afficher les valeurs de tous les menus mais je n'arrive pas prendre automatiquement la valeur de la dernière du dernier menu. Pouvez vous m aider ?

voici le code :

menu_deroulant_onchange.php
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
 
<?php 
require("connection.php");
function tableau($index){
	$test = explode(";",$index);
	return($test);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script language="javascript">
	function change(menu){
		var nom = menu.name;
		var valeur = menu.value;
		var taille = nom.length;
		var niveau = nom.substring(taille-1,taille);
		if (parseInt(niveau)+1 < document.menu.index.value.length){
			document.menu.index.value=document.menu.index.value.substring(0,(parseInt(niveau))*2);
		}
		if (valeur != "") {
			if (document.menu.index.value == null){
			document.menu.index.value=valeur+";";
			}
			else {
			document.menu.index.value = document.menu.index.value + valeur+";";
			}
		}
		document.menu.action="menu_deroulant_onchange.php";
		document.menu.submit();
	}
	function envoyer(){
		document.menu.action="traitement_deroulant.php";
		document.menu.submit();
	}
</script>
</head>
 
<body>
<form name="menu" method="post">
	<select name="menu0_0" onchange="change(this);">
	<option value="">Sélèctionner</option>
<?php
	$sql = "select num_menu,categorie,parent from fr_menu_cat where parent = 0";
	$result = mysql_query($sql);
 
	//recuperation du tableau
	if (isset($_POST["index"])){
		$tableau = tableau($_POST["index"]);
	}
	while ($rows = mysql_fetch_object($result)){
		if ($rows->num_menu == $tableau[0]){
?>
	<option value="<?php echo $rows->num_menu;?>" selected="selected"><?php echo $rows->categorie;?></option>
<?php } else { 
	?>
	<option value="<?php echo $rows->num_menu;?>"><?php echo $rows->categorie;?></option>
 
<?php
} }
?>
	</select><br />
	<?php if (isset($_POST["index"])) {
		$test = tableau($_POST["index"]);
		$taille = sizeof($test)-1;
		$i = 0;
		while ($i < $taille){
			$sql = "select num_menu,categorie,parent from fr_menu_cat where parent =".(int)$test[$i];
			$result = mysql_query($sql);
			$taille1 = mysql_num_rows($result);
			if ($taille1 > 0){
				echo "<select name='menu".$test[$i]."_".($i+1)."' onchange='change(this);'>";
					while ($rows = mysql_fetch_object($result)){
						if ($rows->num_menu == $test[$i+1]){
							echo "<option value='".$rows->num_menu."' selected='selected'>".$rows->categorie."</option>";
						} else {
							echo "<option value='".$rows->num_menu."'>".$rows->categorie."</option>";					
						}
					}
				echo "</select>";
			}
			echo "<br />";
		$i++;
		}	
	 }
?>
<br />
<input type="hidden" name="index" value="<?php if (isset($_POST["index"])) echo $_POST["index"];?>" /><br />
<input type="button" onclick="envoyer();" />
</form>
</body>
</html>
Connection.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<?php
	$db = mysql_connect("localhost","root","");
	mysql_select_db("essai");
?>
traitement_deroulant.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<?php 
foreach($_POST as $key=>$val){
	echo $val;
	echo "<br />";
}
?>
base de donnée essai table fr_menu_cat
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
 
-- phpMyAdmin SQL Dump
-- version 2.6.1
-- http://www.phpmyadmin.net
-- 
-- Serveur: localhost
-- Généré le : Vendredi 31 Mars 2006 à 16:46
-- Version du serveur: 4.1.9
-- Version de PHP: 4.3.10
-- 
-- Base de données: `essai`
-- 
 
-- --------------------------------------------------------
 
-- 
-- Structure de la table `fr_menu_cat`
-- 
 
CREATE TABLE `fr_menu_cat` (
  `num_menu` int(11) NOT NULL auto_increment,
  `categorie` text NOT NULL,
  `parent` int(11) NOT NULL default '0',
  `photos` text NOT NULL,
  PRIMARY KEY  (`num_menu`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
 
-- 
-- Contenu de la table `fr_menu_cat`
-- 
 
INSERT INTO `fr_menu_cat` VALUES (1, 'Informatique', 0, '');
INSERT INTO `fr_menu_cat` VALUES (2, 'Sélectionner', 1, '');
INSERT INTO `fr_menu_cat` VALUES (3, 'Composant', 1, '');
INSERT INTO `fr_menu_cat` VALUES (4, 'Périphérique', 1, '');
INSERT INTO `fr_menu_cat` VALUES (5, 'Processeur', 3, '');
INSERT INTO `fr_menu_cat` VALUES (6, 'Carte Mere', 3, '');
INSERT INTO `fr_menu_cat` VALUES (7, 'Ecran', 4, '');
INSERT INTO `fr_menu_cat` VALUES (8, 'Clavier', 4, '');
le traitement_deroulant.php afficher les selections et le niveau soit
1
4
7
1;4
la valeur que je dois récupérer automatique c'est le 7 qui correspond à la derniere sélèction dans le dernier menu. Et c'est que je n'arrive pas à faire. Pouvez m 'aider

Merci d'avance !!!