Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303

    raggruppamento record in base a categoria

    ciao,
    ho un database con diversi campi, tra cui "Categoria", quello che vorrei fare è trovare le categorie, e poi per ogni categoria visualizzare le voci pressapoco così:

    CATEGORIA1:
    record1
    record2
    record3

    CATEGORIA2:
    record4
    record5
    record6

    come fare un SELECT * FROM tabella WHERE categoria=CATEGORIAX per ogni categoria esistente...

    io avevo provato a fare una cosa del genere:

    codice:
    sql = "SELECT * FROM tabella"
    Set rsII = Server.CreateObject("ADODB.Recordset")
    rsII.Open sql, conn ,3,3
    
    do while not(rsII.eof)
    categoria = rsII(2)
    
    
    sql = "SELECT * FROM tabella WHERE categoria=""" & categoria & """"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    
    do while not(rs.eof)
    
    pagina = rs(1)
    titolo = rs(3)
    autore = rs(4)
    testo = rs(5)
    visite = rs(6)
    data = rs(7)
    
    response.write titolo & "
    "
    
    rs.movenext
    loop
    
    
    rsII.movenext
    loop
    il problema è che se nel database ho il campo categoria che compare per esempio 3 volte, lui mi fa 3 query e quindi appare:

    CATEGORIA2:
    record4
    record5
    record6
    CATEGORIA2:
    record4
    record5
    record6
    CATEGORIA2:
    record4
    record5
    record6

    invece io vorrei farlo apparire una volta sola... come potrei sistemarlo?

    grazie a chi mi illumina...


  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    codice:
    sql = "SELECT distinct categoria FROM tabella"
    Set rsII = Server.CreateObject("ADODB.Recordset")
    rsII.Open sql, conn ,3,3
    
    do while not(rsII.eof)
      categoria = rsII(2)
    
    
      sql = "SELECT * FROM tabella WHERE categoria=""" & categoria & """"
      Set rs = Server.CreateObject("ADODB.Recordset")
      rs.Open sql, conn ,3,3
    
      do while not(rs.eof)
    
        pagina = rs(1)
        titolo = rs(3)
        autore = rs(4)
        testo = rs(5)
        visite = rs(6)
        data = rs(7)
    
        response.write titolo & "
    "
    
        rs.movenext
      loop
    
    
      rsII.movenext
    loop
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    codice:
    sql = "SELECT * FROM tabella WHERE categoria='" & categoria & "'"
    Roby

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Originariamente inviato da Roby_72
    codice:
    sql = "SELECT * FROM tabella WHERE categoria='" & categoria & "'"
    Roby
    VVoVe:

    Non me ne ero accorto!!!

    Ma gli funzionava???
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Originariamente inviato da kalosjo
    VVoVe:

    Ma gli funzionava???
    E' un dettaglio...

    Roby

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303
    certo che funzionava... se per esempio se devi fare un link come fai se vuoi far visualizzare le virgolette?
    io faccio sempre così ed è sempre andato bene...


    variabile = "ciao"

    invece di

    variabile = "ciao"

    poi magari è sbagliato, ma funziona


  7. #7
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Si, sono d'accordo, ma nella query in generale dovrebbe andarci l'apice singolo.....
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303
    ah ok... con questo asp non si finisce mai di imparare...

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.