drxyaox153896 2016-05-04 11:01
浏览 13

下载菜单与foreach php

I show my dropdown menu with 2 level as the following:

<nav id= "main-menu">

    <?php foreach($data['mainMenu'] as $row) // $data['mainMenu'] is a table MainMenu in database.
    {

    if($row['parent']<=0){
            ?>
    <dl class ="menudropdown">

        <!-- show parent menu-->

        <dt id="<?php echo $row['shortName'].'-ddheader'; ?>" onmouseover="ddMenu('<?php echo $row['shortName'];?>',1)" onmouseout="ddMenu('<?php echo $row['shortName'];?>',-1)"><?php echo $row['fullName'];?> </dt>   
        <!--/parent menu-->

         <!--show childmenu-->
        <dd id="<?php echo $row['shortName'].'-ddcontent';?>" onmouseover="cancelHide('<?php echo $row['shortName'];?>')" onmouseout="ddMenu('<?php echo $row['shortName'];?>',-1)">
            <ul>
                <?php foreach($data['mainMenu'] as $row1)
                {

                if($row1['parent']==$row['id']){
                ?>
                <li><a href ="#" class ="underline"> <?php echo $row1['fullName'];?></a></li>
                <?php 
                }
                }
                ?>
            </ul>
        </dd>
        <!--show childmenu-->
    </dl>
    <?php 
    }
    }?>
</nav>

A result is only the first row['fullName']in $data['mainMenu'] Which is shown. It shows only one dl element. The first foreach doesn't continue.

[UPDATE]

If I convert $data['mainMenu'] to $tblMainMenu array:

$tblMainMenu=[];
$index = 0;
foreach( $data['mainMenu'] as $tbl)
    {
        $tblMainMenu[$index] = array(
                                    'id' => $tbl['id'],
                                    'fullName' => $tbl['fullName'],
                                    'shortName' => $tbl['shortName'],
                                    'parent' => $tbl['parent'],
                                    'active' => $tbl['active'],
                                );
        $index++;
    }

And try to loop with $tblMainMenu, It works perfectly.

What is problem with 2 foreach? How php execute the code? I cannot see what is problem with this code above.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
    • ¥15 不小心不正规的开发公司导致不给我们y码,
    • ¥15 我的代码无法在vc++中运行呀,错误很多
    • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
    • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
    • ¥30 ppOCRLabel导出识别结果失败
    • ¥15 Centos7 / PETGEM
    • ¥15 csmar数据进行spss描述性统计分析
    • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
    • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题