Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    140

    elenco categorie ripetuto una sola volta

    Ciao a tutti, piccolo problemino, con questo codice visualizzo l'elenco dei produttori che tratta il negozio on-line:

    codice:
    <% 
    While ((Repeat1__numRows <> 0) AND (NOT prodotti.EOF)) 
    %>
                        <tr>
                            <td><span class="elencoprod"><%=(prodotti.Fields.Item("Categoria").Value)%></span></td>
                        </tr>
                        <% 
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      prodotti.MoveNext()
    Wend
    %>
    funziona perfettamente e ogni voce rimanda l'utente ad una pagina di dettaglio nella quale può vedere l'elenco della categoria. Il problema è che le categorie vengono ripetute più volte, visto che ad esempio esistono più prodotti della stessa categoria nella stessa tbl. Ovviamente non posso rifare la tabella scindendola in due con una che visualizzi le categorie una sola volta perchè dovrei rifare tutto il Db. Mi chiedevo se non esistesse la possibilità di far si che l'elenco dinamico delle categorie generato dal codice di sopra visualizzasse una sola volta le singole categorie.
    Ah dimenticavo, se può servire il recordset di partenza è il seguente:

    codice:
    <%
    Dim prodotti
    Dim prodotti_numRows
    
    Set prodotti = Server.CreateObject("ADODB.Recordset")
    prodotti.ActiveConnection = MM_connessione_STRING
    prodotti.Source = "SELECT * FROM Prodotti"
    prodotti.CursorType = 0
    prodotti.CursorLocation = 2
    prodotti.LockType = 1
    prodotti.Open()
    
    prodotti_numRows = 0
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Ovvio che le categorie debbano essere visualizzate una sola volta ma dipende da come hai strutturato la cosa...
    Con la distinct puoi ottenere una sola volta un campo...

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    140
    vale a dire? come la inserisco nel codice che ho postato?

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    SELECT DISTINCT(categoria) FROM Prodotti
    Ma cambia tutto.

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    140
    Fermi tutti, per una volta ho risolto da solo (anche se con la utile dritta del nostro magnanimo moderatore Roby_72), ho visto che avevo già aperto un 3d simile, la strada seguita era stata un'altra e non mi aveva portato a niente, ma ho utilizzato per l'appunto il DISTINCT da lì e ho risolto il problema. Posto il codice se dovesse servire a qualcuno:
    questo è il recordset modificato:

    codice:
    <%
    Dim prodotti
    Dim prodotti_numRows
    
    Set prodotti = Server.CreateObject("ADODB.Recordset")
    prodotti.ActiveConnection = MM_connessione_STRING
    prodotti.Source = "SELECT DISTINCT(Produttore) FROM Prodotti ORDER BY Produttore ASC" 
    prodotti.CursorType = 0
    prodotti.CursorLocation = 2
    prodotti.LockType = 1
    prodotti.Open()
    
    prodotti_numRows = 0
    %>
    e questo è il link dinamico che mi genera le categorie:


  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    140
    Grazie Roby non lo avevo visto, stavo postando.... e volevo verificare se eri bravo.....
    ovviamente scherzavo, non ti offendere...

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    140
    ...torno all'attacco perchè se è vero che l'appetito vien mangiando... La mia pagina di dettaglio alla quale quella con l'elenco delle categorie dovrebbe passare i parametri non visualizza niente, volevo chiedere questo, il seguente recordset:

    codice:
    <%
    Dim prodotti
    Dim prodotti_numRows
    
    Set prodotti = Server.CreateObject("ADODB.Recordset")
    prodotti.ActiveConnection = MM_connessione_STRING
    prodotti.Source = "SELECT DISTINCT(Produttore)  FROM Prodotti  ORDER BY Produttore ASC" 
    prodotti.CursorType = 0
    prodotti.CursorLocation = 2
    prodotti.LockType = 1
    prodotti.Open()
    
    prodotti_numRows = 0
    %>
    come potrebbe includere anche gli altri campi della tabella tipo prodotto, prezzo ecc considerato che questi mi servono per poi popolare la pagina di dettaglio della categoria?
    Graxzie 10000

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Te l'avevo detto che dovevi rivedere un po' di cose...
    Devi fare 2 query.

    Roby

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    140
    beh, in effetti sono riuscito nel mio intento, ma la pagina di dettaglio non visualizza nulla, forse è meglio che rinuncio e l'elenco lo faccio manualmente creando tanti recordset quanti sono i produttori certo che però così diventa un bel casino....

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.