2017-07-02 142 views
2

本标题可能会让某人感到困惑,但我的目标是在PHP函数中创建一个下拉菜单并回显它。如何用php创建下拉菜单?

表INDEX_PAGES

id, name,  href 
---------------------------- 
1  login  ?page=login  
2  admin  ?page=admin 
3  projects ?page=projects 
4  home  ?page=home 

表就知道了可以显示mainpages:了解我的问题有点......

我mainpages,名字都在顶部菜单中显示在顶部的菜单

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

现在我有顶部菜单的名称和它的所有工作正常,但我想显示我在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> 

表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 

知道secondpages可以在下拉顶部菜单中显示的表,index_page是外键index_pages和second_page是外部关键second_pages

表TOP_MENU_PAGES

id, index_page, second_page 
------------------------------- 
1   1   3 
2   2   1 

所以现在我的问题是..我怎样才能使这个功能,所以我可以显示在下拉菜单的第二页?

+0

你想要一个函数来检索关于'index_page_id'键的第二页数据吗? –

+0

@BibhudattaSahoo是的 – Somepub

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

我的东西它会帮助你的。

+0

对不起,我想我的解释是不够好,但我想第二个表行项目(项目)出现在dropmenu像

  • 第一个菜单项
  • 第二个菜单项
  • Somepub

    +0

    现在用这个修改功能 –

    +0

    显然这剂量的工作,因为它需要显示第二页什么是主页的儿童子菜单,但感谢帮助,我想这比我想象的更难。 – Somepub