2017-07-02 151 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