Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Menù dinamico

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    17

    Menù dinamico

    Salve a tutti sono nuovo del forum e inzio gia a rompervi la testa :P.. Ho un problemino sto creando un sito in asp che utilizza un database in access. In questo database ,oltre alle varie tabelle, ho la tabella categoria e prodotto.Arriviamo al dunque, facendo la seguente query :
    codice:
    SELECT Prodotto.Nome,Categoria.Descrizione 
    FROM Prodotto, Categoria
    WHERE Prodotto.Categoria=Categoria.ID_Categoria
    Ottengo cosi nome del prodotto e categoria di appartenenza, devo adesso scrivere il tutto per fare il menu di questo tipo:
    codice:
    [*]<h3>Categoria</h3>
            	<ul>[*]<a href="#">Prodotto 1<a>[*]<a href="#">Prodotto 2<a>[*]<a href="#">Prodotto 3<a>[/list]
    Come posso fare? Io ho utilizzato il classico metodo per stampare la queri,ovvero il solito ciclo di while, ma ovviamente non funziona perchè si creano tanti pulsanti quanti sono i record del db senza essere ragruppati per categoria...

    Grazie in anticipo per l'aiuto!!!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    SELECT Prodotto.Nome,Categoria.Descrizione
    FROM Prodotto, Categoria
    WHERE Prodotto.Categoria=Categoria.ID_Categoria
    ORDER BY Categoria.Descrizione ASC, Prodotto.Nome ASC

    A questo punto avrai le categorie ed i prodotti ordinati.
    Ora devi stampare la categoria SOLO quando cambia... quindi devi utilizzare una variabile d'appoggio che sia in grado di controllare il "cambiamento".

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    17
    Ma certo!! Grazie mille....Oppure invece di utilizzare la clausola ORDER BY posso utilizzare GROUP BY...Ok Ci provo in caso chiedo di nuovo aiuto...Grazie per la disponibilità e la risposta velocissima.. Buon Natale!!

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    La GROUP BY in questo caso non ti è utile in quanto hai comunque la necessità di estrarre sia la categoria che il nome del prodotto.

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    17
    Ok...capito

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    17
    Di nuovo qua....Ho fatto come mi avevi detto tu roby ma c'è un problema:
    codice:
    While rs.EOF = False
    	controllo = rs("Descrizione")
    %>[*]<h3><%=rs("Descrizione")%></h3>
            	<ul>
                <% 
    	While controllo = rs("Descrizione")  %>[*]<%=rs("Nome") %>
                <% 	rs.MoveNext
    		Wend
    				%>
                [/list]
        
    <% 
    	Wend
    	rs.close
    	SET rs= Nothing
    	
    %>
    Il codice che ho scritto in pratica funziona in teoria no. Quando arriva a EOF Sulla riga segnata in grassetto mi da errore perche l'elemento è vuoto...Come posso ovviare a questo problema? Grazie in anticipo per la risposta

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non dovresti usare un altro ciclo...
    Usa una semplice IF e cicla il recordset normalmente.

    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    17
    ok ci riprovo

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    17
    Risolto grazie mille!!!

  10. #10
    ----------------------------------------------------
    nello spirito del forum, spiega come hai fatto, così aiuterai qualche altro forumista che dovesse avere lo stesso problema.
    ----------------------------------------------------

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.