2009-12-05 66 views
1

我想創建一個菜單使用ASP(我從來沒有使用ASP之前,我是一個PHP的人)使用存儲在數據庫中的值。ASP菜單驅使我瘋了

基本上HTML佈局我想是這樣:

<ul> 
<li> 
    <ul class="sub-menu"> 
    <li class="sub-menu-li">Test</li> 
    </ul> 
</li> 
</ul> 

我需要圍繞根菜單項RS(「AD_Level」),它等於0,根對象,那麼該循環內循環,在具有相同父ID的任何東西周圍,例如,如果當前記錄是AD_Level = 0且AD_Parent = 5,則使用AD_Parent 5和AD_Level!= 0循環所有項目,並將值插入到html等等等等。

請幫忙!我有一個新的語言掙扎,看不到的方式來做到這一點,而不會失去理智

編輯

while not rsAdmin.eof 
    sPar = rsAdmin("ad_parent" 
    if rsAdmin("AD_Level")=0 then 
    while not rsAdmin2.eof 
     if rsAdmin2("AD_Level")<>0 and rsAdmin2("ad_parent")=sPar and rsAdmin2("AD_Sec_Level")=>2 then 
     response.write rsAdmin("AD_Menu") 
     end if 
     rsAdmin2.movenext 
    wend 
    end if 
    '' # if not rsAdmin.eof then sPar=rsAdmin("AD_parent") rsAdmin.movenext 
wend 

這是我的代碼

+0

這是ASP.NET還是ASP?無論如何,向我們展示您的代碼 - 我們需要一些背景。 – Hogan 2009-12-05 02:09:12

+0

同時不rsAdmin.eof \t SPAR = rsAdmin( 「ad_parent」) \t如果rsAdmin( 「AD_Level」)= 0,那麼 \t \t同時不rsAdmin2.eof \t \t \t如果rsAdmin2( 「AD_Level」)<> 0和rsAdmin2( 「ad_parent」)=晶石和rsAdmin2( 「AD_Sec_Level」)=> 2然後 \t \t \t \t回覆於rsAdmin( 「AD_Menu」) \t \t \t端如果 \t \t rsAdmin2.movenext \t \t蜿蜒 \t結束時,如果 \t \t「如果不是rsAdmin.eof然後晶石= rsAdmin( 「AD_parent」) rsAdmin.movenext 蜿蜒 這是我的代碼 – simplesimon 2009-12-05 02:40:15

+0

@simplesimon:SO鼓勵你重新審視和編輯在你想到它們的時候添加細節的問題和/或從其他評論請求的問題。代碼特別是在評論中格式不正確。 – AnthonyWJones 2009-12-07 18:50:01

回答

0

當然(由OP評論中提取)這是使用遞歸的一個明顯的例子,只是提供下面的僞代碼,因爲我不能很好地從你的代碼中很好地理解你的菜單結構,所以我沒有試圖直接把它放到ASP代碼中:

For Each MenuItem at with Level=0 
    Display the Menu Text (if applicable) 
    Call GenerateSubMenu(MenuItem.ID) 
Next 

Function GenerateSubMenu(ID) 
    For Each MenuItem with Parent=ID 
     Display the Menu Text (if applicable) 
     Call GenerateSubMenu(MenuItem.ID) 
    Next 
End Function