sql >> Base de Datos >  >> RDS >> Mysql

Verifique los valores de la declaración foreach

Supongo que intentas crear un menú de navegación. Donde las subentradas solo deben aparecer cuando el visitante de su página selecciona el elemento del menú superior.

¿Es así?

Está bien si es así. Es posible que tengas eso en mente.

  1. si un usuario muestra su página primero. es posible que muestre solo los elementos del menú superior.
  2. si un usuario selecciona uno de los elementos del menú superior, hace clic en un enlace que vuelve a cargar su secuencia de comandos con información adicional.
  3. Ahora su secuencia de comandos debe averiguar qué elemento del menú superior seleccionó el usuario en función de la información adicional.
  4. Dependiendo de la selección del usuario, puede mostrar u ocultar elementos del submenú.

Cuál es su trabajo aquí, debe asegurarse de que su secuencia de comandos detecte en qué elemento del menú superior se hace clic.

¿Necesita más ayuda, o está claro qué hacer?

Ok, ¿qué tal esto como un ejemplo básico para menús php dinámicos como test.php?

<?php

  $menu="";

  extract( $_GET, EXTR_PREFIX_ALL, "url" );
  if (isset($url_menu)){
    $menu=$url_menu;
    echo "you selected ".$menu."<br>";
  }     



  echo "<ul>";

  // top menu 1
  echo '<li><a href="./test.php?menu=top1">Top1</a>';
    if ($menu=="top1"){
      echo "<ul>";
        echo "<li>Submenu</li>";
      echo "</ul>";
    }
    echo "</li>";

  // top menu 2
  echo '<li><a href="./test.php?menu=top2">Top2</a>';
    if ($menu=="top2"){
      echo "<ul>";
        echo "<li>Submenu</li>";
      echo "</ul>";
    }
    echo "</li>";

  echo "</ul>";


?>

Ver cualquier elemento del menú superior entrega la variable adicional "menú". Esto es "top1" o "top2" en este caso. Ahora su secuencia de comandos al recargar verifica si el "menú" ya está configurado y, según el valor de "menú", muestra el submenú correspondiente.

Todavía queda un largo camino por recorrer, porque en mi caso uso elementos de menú fijos donde, en su caso, carga los elementos de menú según el "ID de usuario".

Avíseme si el ejemplo anterior funciona en su lugar y si necesita asistencia adicional para adoptarlo en sus menús cargados dinámicamente.

Siguiendo esa idea necesitas reemplazar

<li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>

agregando, por ejemplo, el nombre de la variable "level0"

<li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>

luego puede verificar en su submenú si "level0" está configurado como lo espera y luego mostrar u ocultar los elementos del submenú.