2009-12-05 3 views
1

J'essaie de créer un menu en utilisant ASP (je n'ai jamais utilisé ASP auparavant, im un homme PHP) en utilisant des valeurs stockées dans une base de données.ASP Menu me rend fou

essentiellement la mise en page html je veux est en tant que tel:

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

J'ai besoin de boucle autour des éléments de menu racine rs (« AD_Level ») qui est égal à 0 pour les objets racine, puis à l'intérieur de cette boucle, Lop autour de tout ce qui a le même id parent, par exemple si l'enregistrement en cours est AD_Level = 0 et AD_Parent = 5 puis boucle autour de tous les éléments avec AD_Parent 5 et AD_Level! = 0 et insérer les valeurs dans html et ainsi de suite.

Aidez s'il vous plaît! Je me bats avec une nouvelle langue et ne peut pas voir une façon de le faire sans perdre la santé mentale

Modifier(Extrait de Commentaire par OP)

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 

qui est mon code

+0

Est-ce ASP.NET ou ASP? En tout cas, montrez-nous le code que vous avez - nous avons besoin de contexte. – Hogan

+0

sans rsAdmin.eof \t SPAR = rsAdmin ("ad_parent") \t si rsAdmin ("AD_Level") = 0 alors \t \t sans rsAdmin2.eof \t \t \t si rsAdmin2 ("AD_Level") <> 0 et rsAdmin2 ("ad_parent") = longeron et rsAdmin2 ("AD_Sec_Level") => 2 alors \t \t \t \t response.write rsAdmin ("AD_Menu") \t \t \t fin si \t \t rsAdmin2.movenext \t \t Wend \t fin si \t \t « sinon rsAdmin.eof alors SPAR = rsAdmin ("AD_parent") rsAdmin.movenext wend qui est mon code – simplesimon

+0

@simplesimon: SO vous encourage à revisiter et de modifier votre question d'ajouter des détails que vous pensez d'eux et/ou sont demandés aux autres commentaires. Le code especailly ne se met pas bien en forme dans un commentaire. – AnthonyWJones

Répondre

0

Sûrement c'est un cas évident pour l'utilisation de la récursivité, en fournissant juste le code de pseudo ci-dessous car je ne comprends pas très bien la structure de votre menu, donc je n'ai pas essayé de le mettre directement dans le code 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