Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    liste non ordinate e output del database..

    Carissimi ho delle difficoltà nell'implementare in modo corretto la visualizzazione delle liste non ordinate dell'html contenenti dati provenienti dal db.

    Ho due semplici tabelle nel database: "Categoria" e "Subcategoria"
    queste tabelle sono relazionate per mezzo dell'id univoco di "categoria" e di un campo numerico della tabella "subcategoria" che si riferisce ovviamente all'id univoco della tabella "categoria"
    In pratica..

    Categoria:
    ID---CATNAME
    -----------------
    1---prima cat
    2---seconda cat
    3---terza cat
    etc.

    Subcategoria:
    ID----ID CATEGORIA-----SUBCATNAME
    1-----------2------------subcat1
    2-----------2------------subcat2
    3-----------1------------subcat3
    4-----------3------------subcat4
    5-----------1------------subcat5
    etc.

    Bando alle chiacchiere avrete sicuramente capito come è fatto il database..
    Il mio problema è riuscire a visualizzare come elemento <ul> il nome della categoria e come elemento[*] gli elementi della subcategoria..
    stò provando in tutti i modi ma mi vengono fuori degli "sturci" incredibili .. forse perchè sono quasi le due di notte
    Ad es.

    codice:
    <ul>
    	<%for i=1 to rs.recordcount%>
    	<li class="menu"><%=rs("catname")%>
    		<ul class="submenu" id="submenu-<%=i%>">
    			[*]<%=rs("subcatname")%>
    		[/list]
    		<%rs.movenext
    		next%>
    	
    	
    	[/list]
    Mi mostra tutti i record, bene.. ma il problema è che mi mostra per ogni categoria un solo elemento.. quindi se la categoria "prima cat" contiene 5 elementi, mi mostra 5 volte la categoria prima cat
    la query.. sinceramente non sò se sia adatta.. definisco semplicemente una relazione..
    vi faccio vedere:
    codice:
    select * from categorie, subcategorie where categorie.idcat=subcategorie.idcat
    che mi dite?
    Voglio l'alt+s anche per FF

  2. #2
    Utente di HTML.it L'avatar di madai
    Registrato dal
    Oct 2000
    Messaggi
    421
    come dovrebbe essere l'output html?


    Il mio problema è riuscire a visualizzare come elemento <ul> il nome della categoria e come elemento[*] gli elementi della subcategoria
    se è come dici allora:


    codice:
    rs.open "select * from categorie, subcategorie where categorie.idcat=subcategorie.idcat ORDER BY categorie.idcat",conn,1,3
    Response.Write(rs("categorie.idcat"))
    %>
    <ul>
    <%
    Do while not rs.EOF
    %>[*]<%=rs("subcatname")%>
    <%
    idcorrente = rs("categorie.idcat")
    rs.Movenext
    If rs("categorie.idcat") <> idcorrente then
     Response.Write("[/list]<ul>"&rs("categorie.idcat"))
    End if
    Loop
    %>[/list]

    l'ho scritta al volo velocemente... prova!

    ciao
    Sviluppo web
    Cerchi un hotel a Ischia dove si mangia si beve e si fischia? Scegli ProntoIschia ed il portafoglio non rischia.

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    a parte il fatto che quel ciclo non và bene in quanto mi serve un indice.. ma sinceramente non ho capito l'output che arriva
    Io devo visualizzare questa struttura

    Prima categoria
    Subcat1
    Subcat2
    Subcat3
    Seconda categoria
    subcat6
    Subcat10
    Subcat15

    etc..
    Voglio l'alt+s anche per FF

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    sql = "select * from tCat order by catnome"
    ...apri rs
    if not rs.EOF then
    do while not rs.EOF
    response.write ("<ul>")
    response.write (rs("cat"))
    
    sql = "select * from tSubCat where cat_id = "& rs("cat_id") &" order bay subcatnome"
    ... apri rs2
    if not rs2.eof then
    do while not rs2.eof
    response.write ("[*]"& rs2("subcatname") &"")
    rs2.MoveNext
    Loop
    end if
    ... chiudi rs2
    
    response.write ("[/list]")
    rs.MoveNext
    Loop
    end if
    ... chiudi rs

    Ti rimane da mettere i link se vuoi.

    Roby

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    mh.. grazie.. devo provare, ma cambiando il tipo di ciclo perchè come puoi vedere mi serve l'indice.. in realtà l'indice mi serve per passarlo ad una funzione javascript che apre e chiude il contenuto di <ul>
    Cmq provo e vi faccio sapere
    Voglio l'alt+s anche per FF

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    in tutta sincerità.. non sò perchè.. ma ho sempre il dubbio che qualcosa non vado.. cioè voglio dire.. funziona bene.. alla perfezione.. ma non sò perchè.. guardo il codice e sembra che abbia mancato qualcosa.. :master:
    codice:
    	<%
    	set rscat=server.CreateObject("adodb.recordset")
    sqlcat="select * from categorie order by catname desc"
    rscat.open sqlcat, conn, 1,3
    	if not rscat.eof then
    	for i=1 to rscat.recordcount%>
    	<li class="menu"><%=rscat("catname")%>
    		<ul class="submenu" id="submenu-<%=i%>">
    			<%set rs=server.CreateObject("adodb.recordset")
    			sql="select * from subcategorie where subcategorie.idcat="&rscat("idcat")&" order by subcatname desc"
    			rs.open sql, conn, 1,3
    			if not rs.eof then
    			do while not rs.eof%>
    			[*]<%=rs("subcatname")%>
    			<%rs.movenext
    			loop
    			end if
    			rs.close
    			set rs=nothing
    			%>		
    		[/list]
    	
    	<%rscat.movenext
    	next
    	end if
    	rscat.close
    	set rscat=nothing
    	conn.close()
    	%>
    Voglio l'alt+s anche per FF

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Questo a che serve

    rscat.movenext

    se non usi il Do?

    Perché ostinarsi ad usare il For quando esiste il metodo nativo per scorrere i record?

    Roby

  8. #8
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Roby_72
    Questo a che serve

    rscat.movenext

    se non usi il Do?

    Perché ostinarsi ad usare il For quando esiste il metodo nativo per scorrere i record?

    Roby
    ?? per andare al prossimo record.. no? e poi come ho detto prima per quel ciclo mi serve un incide, con il do non posso recuperare l'indice..
    Voglio l'alt+s anche per FF

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ti basta una variabile che incrementi nel Loop.

    Roby

  10. #10
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da Roby_72
    Ti basta una variabile che incrementi nel Loop.

    Roby
    mhh.. grazie.. senti e per quanto riguarda lo spostamento sul nuovo record con rscat.movenext? non và bene? prima mi dicevi che non andava bene? come mai?
    Voglio l'alt+s anche per FF

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.