这个标题可能会让某些人感到困惑,但我的目标是制作一个下拉菜单,在PHP函数中回显它。要了解我的问题......
我的主页,名称显示在顶部菜单中:
TABLE INDEX_PAGES
id, name, href
----------------------------
1 login ?page=login
2 admin ?page=admin
3 projects ?page=projects
4 home ?page=home
用于了解顶级菜单中可显示哪些主页的表格
TABLE TOP_MENU
id, index_page
------------------
1 1
2 2
3 3
4 4
我正在使用函数将它们回显到我的topmenu。
结构:
<header>
<h1 class="header">Godhaze</h1>
<nav id="nav-vasak">
<ul>
<?php echo get_topnav(); ?>
</ul>
</nav>
</header>
功能:
function get_topnav(){
global $db;
$sql="SELECT i.name,i.href from index_pages i join top_menu t on t.index_page=i.id ";
foreach($db->query($sql) as $row) {
echo "<li><a href='".get_domain().$row['href']."'>".$row['name']."</a>";
//dropdownmenu
echo "</li>";
}
}
现在我有topmenu名称,并且一切正常,但我想在dropmenu视图中显示我的第二页。
像:
<header>
<h1 class="header">Godhaze</h1>
<nav id="nav-vasak">
<ul>
<li><a>Login</a> //mainpage
<li><a>Action_log</a></li> //secondpage
</li>
</ul>
</nav>
</header>
TABLE SECOND_PAGES
id, name, index_page_id, href
------------------------------------------------------------------
1 error_log 2 ?page=admin&secondpage=error_log
2 user_log 2 ?page=admin&secondpage=user_log
3 action_log 1 ?page=login&secondpage=action_log
4 test_log 3 ?page=projects&secondpage=test_log
要知道在下拉列表顶部菜单中可以显示哪些秒页的表,index_page是index_pages的外键,second_page是second_pages的外键
TABLE TOP_MENU_PAGES
id, index_page, second_page
-------------------------------
1 1 3
2 2 1
所以现在我的问题是..如何才能创建此功能,以便在下拉菜单中显示第二页?
答案 0 :(得分:0)
尝试此修改后的功能
function get_second_pages(){
global $db;
$sql="SELECT i.name,i.href,s.name as name2,s.href as href2,
from index_pages i
join top_menu t on t.index_page=i.id
join SECOND_PAGES s on t.second_page=s.id ";
foreach($db->query($sql) as $row) {
echo "<li><a href='".get_domain().$row['href']."'>".$row['name']."</a>";
echo "<li><a href='".get_domain().$row['href2']."'>".$row['name2']."</a>";
echo "</li>";
}
}
我会帮助你。