Visualizzazione dei risultati da 1 a 3 su 3

Discussione: menu asp con db

  1. #1

    menu asp con db

    Salve a tutti,
    vi chiedo un aiuto per modificare il mio menu. Prima di tutto e per farvi capire meglio vi rimetto la stampa a video della tabella del database access nella quale ho creato il menu, o meglio, i vari campi.
    In sostanza la tabella che si chiama "menuverticale" contiene i campi "voce" , "sottovoce" , "sottovoce2", "link", "ordine".
    Attualmente il menu si presenta in questo modo:
    area prima
    area seconda
    area terza

    e se clicco su area prima appaiono i sottomenu, e quindi online viene fuori
    area prima
    sub1
    sub2
    sub3
    sub4
    area seconda
    area terza

    Bene, io vorrei invece che il menu si visualizzasse in questo modo:
    area prima
    sub1
    sub2
    sub3
    sub4
    area seconda
    sub1
    sub2
    sub3
    sub4
    area terza
    sub1
    sub2
    sub3
    sub4
    In sostanza vorrei "dividere" il menu in 3 sezioni, come fossero 3 menu differenti. Detto ciò vi riporto di seguito l'attuale codice asp che estrae i campi:

    <%
    Set Mostra = Server.CreateObject("ADODB.Recordset")
    Dim SQL
    SQL = "SELECT * FROM menuverticale WHERE sottovoce = 'no' ORDER BY cint(ordine)"
    Mostra.Open SQL, Cn,1
    %>
    <table width="100">
    <tr>
    <%While Not Mostra.EOF
    With Response
    %>
    <td> <ul id="menu-verticale">[*]"><%=Mostra("voce")%>[/list]</td>
    <%
    Set Mostra2 = Server.CreateObject("ADODB.Recordset")
    Dim SQL2
    SQL2 = "SELECT * FROM menuverticale WHERE voce = '"&Replace(Request.querystring("voce"),"'","''")&" ' AND voce='"&Replace(Mostra("voce"),"'","''")&"' AND sottovoce<>'no' AND sottovoce2 = 'no' ORDER BY cint(ordine)"
    Mostra2.Open SQL2, Cn,1
    %>
    </tr>
    <%While Not Mostra2.EOF
    With Response
    %>
    <tr>
    <td><ul class="menu4">[*]"><%=Mostra2("sottovoce")%>[/list]</td>
    </tr>
    <%

    Set Mostra3 = Server.CreateObject("ADODB.Recordset")
    Dim SQL3
    SQL3 = "SELECT * FROM menuverticale WHERE sottovoce='"&Replace(Request.querystring("sottovoc e"),"'","''")&"' AND sottovoce='"&Replace(Mostra2("sottovoce"),"'","''" )&"' AND sottovoce2 <>'no' ORDER BY cint(ordine)"
    Mostra3.Open SQL3, Cn,1

    %>
    <%While Not Mostra3.EOF
    With Response
    %>
    <tr>
    <td><ul class="menu5">[*]"><%=Mostra3("sottovoce2")%>[/list]</td>
    </tr>
    <tr>
    <td></td>
    </tr>
    <%End With
    Mostra3.MoveNext
    Wend
    %>
    <%End With
    Mostra2.MoveNext
    Wend
    %>
    <%End With
    Mostra.MoveNext
    Wend
    %>


    Naturalmente questo è il codice attuale, mentre io vorrei modificarlo come spiegato sopra ma nonostante i mille tentativi diversi ( capendoci poco di asp) non ci riesco
    Immagini allegate Immagini allegate

  2. #2
    scusa eh, ma quella tabella chi l'ha creata? la puoi riscrivere così:

    TABELLA MENU:

    id -> int, primary_key
    parent_id -> int, foreign_key, default: parent_id = id
    voice -> varchar
    link -> varchar
    order -> int, default 0

    in maniera che la tabella verrebbe così (per la sola prima voce del menu):


    id parent_id voice link order
    1 1 prima voce # 0
    2 1 sub1 # 1
    3 1 sub2 # 2
    4 1 sub3 # 3
    5 3 sub-sub2 # 1
    e poi ritorniamo a parlare di codice?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    VVoVe:

    Ehm ... non è che per caso potresti essere più chiaro che non ci ho capito nulla?
    Comunque sia la tabella che il menu me lo avevano creato perchè non ero capace

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.