如何使用php创建下拉菜单?

时间:2017-07-02 18:11:03

标签: php mysql sql

这个标题可能会让某些人感到困惑,但我的目标是制作一个下拉菜单,在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

所以现在我的问题是..如何才能创建此功能,以便在下拉菜单中显示第二页?

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>";
 }
}

我会帮助你。