Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Verifique os valores da instrução foreach


Acho que você tenta criar um menu de navegação. Onde as subentradas só devem aparecer quando o item do menu superior for selecionado pelo visitante da sua página.

Isso está certo?

Ok se sim. Você pode ter isso em mente.
  1. se um usuário exibir sua página primeiro. você pode mostrar apenas os principais itens do menu.
  2. se um usuário selecionar um dos itens do menu superior, ele clicará em um link e recarregará seu script com algumas informações adicionais.
  3. Agora seu script precisa descobrir qual item de menu superior o usuário selecionou com base nas informações adicionais.
  4. Dependendo da seleção do usuário, você pode mostrar ou ocultar itens do submenu.

Qual é o seu trabalho aqui, você precisa ter certeza de que seu script detecta em qual item do menu superior é clicado.

Você precisa de mais ajuda ou está claro o que fazer?

Ok, que tal isso como um exemplo básico para menus 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>";


?>

Veja qualquer item do menu superior entrega a variável adicional "menu". Este é "top1" ou "top2" neste caso. Agora seu script ao recarregar verifica se "menu" já está definido e dependendo do valor de "menu" ele mostra o submenu correspondente.

Ainda há um longo caminho a percorrer, pois no meu caso eu uso itens de menu fixos onde no seu caso você carrega os itens de menu dependendo do "userid".

Deixe-me saber se o exemplo acima funciona no seu lugar e se você precisa de suporte adicional para adotá-lo em seus menus carregados dinamicamente.

Seguindo essa ideia você precisa substituir
<li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>

adicionando, por exemplo, o nome da variável "level0"
<li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>

então você pode verificar no seu submenu se "level0" estiver definido como você espera e, em seguida, mostrar ou ocultar os itens do submenu.