创建动态php导航栏

创建动态php导航栏,php,Php,我正在尝试使用和使用一个简单的模板引擎创建一个动态php导航栏。 我能够创建动态导航,但在尝试创建下拉菜单时遇到了问题! 问题是每个主项都有许多子项,但当我运行脚本时,每个主项都会得到与其他主项相同的子项 是这样的 main item 1 have sub item 1 main item 1 have sub item 2 main item 2 have sun item 3 main item 1 | main item 2 | main item 3 | sun item 1

我正在尝试使用和使用一个简单的模板引擎创建一个动态php导航栏。 我能够创建动态导航,但在尝试创建下拉菜单时遇到了问题! 问题是每个主项都有许多子项,但当我运行脚本时,每个主项都会得到与其他主项相同的子项

是这样的

main item 1 have sub item 1
main item 1 have sub item 2
main item 2 have sun item 3
main item 1  | main item 2  | main item 3 | 
sun item 1   | sun item 2   | sun item 3  | 
当我运行脚本时,我得到了

main item 1  | main item 2  | main item 3  | 
sun item 1   | sun item 1   | sun item 1   | 
sun item 2   | sun item 2   | sun item 2   | 
sun item 3   | sun item 3   | sun item 3   | 
我需要这样

main item 1 have sub item 1
main item 1 have sub item 2
main item 2 have sun item 3
main item 1  | main item 2  | main item 3 | 
sun item 1   | sun item 2   | sun item 3  | 
我的密码

$site_page_request = mysql_query("select * from pages where parent_id_sec='' order by navigation_order ASC");

$page_title = "page_title_lang_2";
$query_string = "query_string_lang_2";


while ($main_object = mysql_fetch_array($site_page_request)) {

    $links[] = array('link-name' = > $main_object[$page_title], 'link-link' = > "$site_link/".$main_object[$query_string].
        "/");

    $site_page_request2 = mysql_query("select * from pages where parent_id_sec='$main_object[id_sec]' order by navigation_order ASC");

    while ($main_object2 = mysql_fetch_array($site_page_request2)) {

        $links2[] = array('link-name2' = > $main_object2[$page_title], 'link-link2' = > "$site_link/".$main_object[$query_string].
            "/".$main_object2[$query_string].
            "/");
    }

}

foreach($links as $links) {

    $row = new Template("style/template/navigation-row.tpl");

    foreach($links as $key = > $value) {
        $row - > set($key, $value);
    }
    $navigationTemplates[] = $row;
}

$navigationContents = Template::merge($navigationTemplates);
$navigationList = new Template("style/template/navigation.tpl");
$navigationList - > set("row", $navigationContents);

$layout - > set("navigation", "$navigationContents");
$layout - > set("navigation", $navigationList - > output());

foreach($links2 as $links2) {

    $row2 = new Template("style/template/navigation-dropdown-row.tpl");

    foreach($links2 as $key = > $value) {
        $row2 - > set($key, $value);
    }
    $navigationTemplates2[] = $row2;
}

$navigationTemplates2 = Template::merge($navigationTemplates2);
$navigationList2 = new Template("style/template/navigation-dropdown.tpl");
$navigationList2 - > set("row2", $navigationTemplates2);
$layout - > set("navigation2", "$navigationTemplates2");
$layout - > set("navigation2", $navigationList2 - > output());
任何人都知道我该怎么做


谢谢

不确定这是您的问题,但我会更改
foreach
迭代器,使其名称不相同。所以` foreach($links as$link)。。。foreach($key=>$value的链接)。。。和$links2类似。谢谢,但它不起作用,我仍然有相同的问题。您可以添加一些调试
echo
s,以确定您是否在DB查询中获取错误的数据或操作错误。你能用你当前的代码更新你的帖子吗?嗨,我添加了
echo
,没有出现错误,对于代码我应该发布哪一个?我发布了当前的一个,我有你的代码在张贴仍然看起来是错误的。。。另外,当我建议回显DB数据时,您应该返回一些数据(可能是您试图构建的子菜单条目)。您是否可以尝试所有这些,然后用这些代码(其中的调试语句和链接已修复)和输出结果更新您的帖子?