Bonjour à tous,
Voila mon problème, je développe un site pour mon stage et j'ai un problème avec des input de type hidden.
Voici mon code je vous explique après :
[...]
while ($row = mysql_fetch_row($result)) {
for ($i=0; $i < $nbChamps-1 ; $i++) {
$query2 = "SELECT nom,id_sous_menu FROM sous_menu where id_menu=".$row[$nbChamps-1]."";
$result2 = mysql_query($query2);
if(mysql_num_rows($result2) == 0){
echo "
<form id=\"test\" method=\"post\" action=\"index.php\">
<input type=\"hidden\" name=\"menu\" value=\"".$row[$i]."\">
<input type=\"hidden\" name=\"sousmenu\" value=\"0\">
<input type=\"hidden\" name=\"soussousmenu\" value=\"0\">
</form><li><a href=\"#\" onclick='document.getElementById(\"test\").submit()'>".$row[$i]." </a></li>"; }else {
echo "<li class=\"sousmenu\"><a>".$row[$i]." </a>";
$nbChamps2 = mysql_num_fields($result2); /*représente le nb de champs d une ligne.*/
echo "<ul class=\"niveau2\">";
while ($row2 = mysql_fetch_row($result2)) {
for ($j=0; $j < $nbChamps2-1 ; $j++) {
$query3 = "SELECT nom FROM sous_sous_menu where id_sous_menu=".$row2[$nbChamps2-1]."";
$result3 = mysql_query($query3);
if(mysql_num_rows($result3) == 0){
echo "
<form id=\"test\" method=\"post\" action=\"index.php\">
<input type=\"hidden\" name=\"menu\" value=\"".$row[$i]."\">
<input type=\"hidden\" name=\"sousmenu\" value=\"".$row2[$j]."\">
<input type=\"hidden\" name=\"soussousmenu\" value=\"0\">
</form><li ><a href=\"#\" onclick='document.getElementById(\"test\").submit()'>".$row2[$j]."</a></li>"; }else{
echo "<li class=\"sousmenu\"><a>".$row2[$j]."</a>";
$nbChamps3 = mysql_num_fields($result3); /*représente le nb de champs d une ligne.*/
echo "<ul class=\"niveau3\">";
while ($row3 = mysql_fetch_row($result3)) {
for ($k=0; $k < $nbChamps2-1 ; $k++) {
echo "
<form id=\"test\" method=\"post\" action=\"index.php\">
<input type=\"hidden\" name=\"menu\" value=\"".$row[$i]."\">
<input type=\"hidden\" name=\"sousmenu\" value=\"".$row2[$j]."\">
<input type=\"hidden\" name=\"soussousmenu\" value=\"".$row3[$k]."\">
</form><li class=\"soussousmenu\"><a href=\"#\"
onclick='document.getElementById(\"test\").submit()'>".$row3[$k]."</a></li>"; }
}
[...]
Ce code me permet de créer mon menu en fonction de ma bdd... (menu, sous-menu et sous-sous-menu) jusque là, pas de problème.
Le souci est que lorsque je clique sur 1 des liens, je veux récupérer l'arborescence de mon menu. Le problème est que je ne récupère que les premières valeurs entrées dans mes inputs.
ex:
premier passage dans la boucle : menu 1 , sous-menu 1 et sous-sous-menu 1
second passage dans la boucle : menu 2
lors de mon second passage dans la boucle je ne devrais récupérer que la valeur menu 2 et les sous-menu1 et sous-sous-menu 1 devrai être égales à 0 (ou null si quelqu'un sait comment faire...), mais j'obtiens comme résultat dans mes hidden menu 1 , sous-menu 1 et sous-sous-menu 1.
Je ne comprend pas pourquoi les valeurs ne sont pas remplacées quand je clique sur le bouton du menu 2 par exemple.
Si quelqu'un a une idée, n'hésitez pas. merci d'avance
micgamers