Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. tapout
    3. Post
    T

    tapout

    @tapout

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 1
    • Post 2
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    Località Hollywood Età 42
    0
    Reputazione
    2
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User Newbie

    Post creati da tapout

    • RE: [ASP CLASSIC] Funzione ricorsiva per treeview

      Proprio nessuno riesce ad aiutarmi??

      postato in Coding
      T
      tapout
    • [ASP CLASSIC] Funzione ricorsiva per treeview

      Salve a tutti,

      questo è il mio primo post e iniziamo già con un problemino fastidioso.. Ma lasciamo i convenevoli a dopo 😄

      Ho creato un sistema di treeview in ASP Classic per la visualizzazione di categorie, sottocategorie e contenuti prelevati da un db sql server 2005.
      Entriamo subito nel vivo postando il codice della pagina:

      [php]

      <ul id="ul-cat" class="filetree">
      <%
      sql="SELECT count(*) as totali FROM primatabella"
      Set rs = conn.Execute(sql)
      ReDim arr(rs("totali"),9)
      sql = "SELECT primatabella.cat_id, primatabella.cat_name, primatabella.cat_parent_id, primatabella.tot_subcat, secondatabella.page_id, secondatabella.page_title, secondatabella.page_content, secondatabella.reurl, secondatabella.cat_idx FROM primatabella LEFT JOIN secondatabella ON primatabella.cat_id = secondatabella.cat_idx ORDER BY primatabella.cat_parent_id"
      rs.close
      Set rs = conn.Execute(sql)
      Do While rs.eof = false
      arr(co,0)=rs("cat_id")
      arr(co,1)=rs("cat_name")
      arr(co,2)=rs("cat_parent_id")
      arr(co,3)=rs("tot_subcat")
      arr(co,4)=rs("page_id")
      arr(co,5)=rs("page_title")
      arr(co,6)=rs("page_content")
      arr(co,7)=rs("reurl")
      arr(co,8)=rs("cat_idx")
      co=co+1
      rs.Movenext
      loop
      rs.close
      set rs=Nothing
      call Stampafigli ("-1",0)
      Sub Stampafigli ( idpadre, livello)
      dim rip
      for rip = 0 to ubound (arr,1)
      if cint ( arr(rip,2) ) = cint (idpadre) then
      if arr(rip,3) <= 0 Then

                                                      %> 
                                                                           <li><span class="folder"><%=arr(rip,1)%>  (<%=arr(rip,3)%> )</span></li> 
                                                      <% 
                                                       
                                                                      Else 
                                                      %> 
                                                                           <li class="closed"><span  class="folder"><%=arr(rip,1)%> (<%=arr(rip,3)%>  )</span> 
                                                                              <ul> 
                                                                                   <%call Stampafigli ( cint(arr(rip,0)) ,livello+1)%> 
                                                                              </ul> 
                                                                          </li> 
                                                      <% 
                                                                      End If 
                                                                  End If 
                                                              Next 
                                                          End Sub 
                                                          sql = "SELECT * FROM primatabella WHERE cat_idx = -1" 
                                                          Set rs = conn.Execute(sql) 
                                                          do while not rs.eof 
                                                          If rs("cat_idx") = "-1" Then 
                                                      %> 
                                                               <li><span  class="file"><%=rs("reurl")%></span></li> 
                                                      <% 
                                                          Else 
                                                          End If 
                                                          rs.movenext 
                                                          loop 
                                                          rs.close 
                                                      %> 
                                                  </ul>
      

      [/php]Attraverso una LEFT JOIN visualizzo i dati rispettivi alla primatabella, all'interno della quale si trovano tutte le categorie e sottocategorie e i dati della secondatabella all'interno della quale si trovano i contenuti legati alle categorie, rispettivamente da primatabella.cat_id e secondatabella.cat_idx.

      Attraverso una normale SELECT visualizzo i contenuti che hanno come cat_idx -1, questo perchè all'interno della primatabella non esistono cat_id pari a -1, ma solo cat_parent_id.

      Attualmente quando assegno a due contenuti lo stesso cat_idx, per esempio 1, lo script mi raddoppia gli array restituendo un outpout del genere:

      Chi Siamo (2)
      Chi Siamo (2)
      bilanci (0)

      espandendo le categorie nella prima trovo il contenuto 1 e nella seconda il contenuto 2. Come posso ovviare al problema?

      Grazie mille in anticipo.
      :gthi:

      postato in Coding
      T
      tapout