Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查foreach语句值_Php_Mysql_If Statement_Drop Down Menu_Foreach - Fatal编程技术网

Php 检查foreach语句值

Php 检查foreach语句值,php,mysql,if-statement,drop-down-menu,foreach,Php,Mysql,If Statement,Drop Down Menu,Foreach,我有这样的代码 <ul> <?php foreach (getUserMainMenus($get_user_id) as $get_main_menu): ?> <li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a> <ul> <?

我有这样的代码

    <ul>
    <?php foreach (getUserMainMenus($get_user_id) as $get_main_menu): ?>
    <li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>
    <ul>
    <?php foreach (getUserChildMenu($get_main_menu['m_id'], $get_user_id) as $sub_menu): ?>
    <li class='has-sub'><a href='<?=$sub_menu['menu_url']; ?>'><span><?=$sub_menu['menu_name']; ?></span></a>

    <ul>
    <?php foreach (getUserSubChildMenu($sub_menu['m_id'], $get_user_id) as $sub_sub_menu): ?>
    <li class='has-sub'><a href='<?=$sub_sub_menu['menu_url']; ?>'><span><?=$sub_sub_menu['menu_name']; ?></span></a></li>
    <?php endforeach; ?>   
    </ul>
    </li>
    <?php endforeach; ?>   
    </ul>
    </li>
    <?php endforeach; ?>   
    </ul>
    Array ( [m_id] => 9 [menu_name] => MenuName [parent_menu_id] => 4 [menu_order] => 1 [menu_url] => menu1.php [status] => 1 )
如何在所有foreach语句之后检查if条件。 换句话说,我需要获取$sub_菜单值,如果有值,则显示li标记。 另外-我需要检查$sub_sub_菜单变量,如果有值,则显示li标记

我怎样才能做到这一点

谢谢,
Kimz

我想您应该尝试创建一个导航菜单。其中,子条目只应在页面访问者选择顶部菜单项时出现

是这样吗

好的。你可能已经想到了

  • 如果用户首先显示您的页面。您可能只显示最上面的菜单项
  • 如果用户选择了最上面的菜单项之一,他/她会单击一个链接,该链接会用一些附加信息重新加载脚本
  • 现在,脚本需要根据附加信息确定用户选择的顶部菜单项
  • 根据用户的选择,您可以显示或隐藏子菜单项
  • 您在这里的工作是,您必须确保您的脚本检测到单击的顶部菜单项

    你需要更多的帮助吗,还是很清楚该怎么做

    好的,这是动态php菜单的一个基本示例,如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>";
    
    
    ?>
    
    
    
    查看任何顶部菜单项,将其交给附加变量“menu”。在本例中,这是“top1”或“top2”。现在,重新加载脚本将检查“菜单”是否已设置,并根据“菜单”的值显示相应的子菜单

    还有很长的路要走,因为在我的例子中,我使用固定的菜单项,在你的例子中,你根据“userid”加载菜单项

    让我知道上述示例是否适用于您的位置,以及您是否需要额外的支持以将其应用于动态加载的菜单

    按照这个想法,你需要替换

    <li class='has-sub'><a href='#'><span><?=$get_main_menu['menu_name']; ?></span></a>
    
  • 例如,通过添加变量名“level0”


  • 然后,如果“level0”按预期设置,您可以在子菜单中进行检查,然后显示或隐藏子菜单项。

    为什么将其作为答案发布?一条评论就足够了。对不起,我的声誉不足以只发表评论。我一开始就想发表评论。那么你能收回你的-1吗?>>你必须有50个名声才能评论出什么事来?你不喜欢我的主意吗?
    <li class='has-sub'><a href='<?= ?level0=$sub_menu['menu_name']; ?>'><span><? $get_main_menu['menu_name']; ?></span></a>