Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    ciclare raggruppando: è possibile?

    Salve amici

    ho questo problema:
    estraendo dei record da un DB ho necessità di mostrarli in elenco, però raggruppandoli in base al valore di un campo

    Ad esempio ho un DB con i campi

    GRUPPO, SQUADRA_A, SQUADRA_B, RISULTATO

    vorrei elencarli raggruppandoli in tabelle separate in base al gruppo..

    Ovviamente potrei fare delle SQL separate in base al GRUPPO, ma io invece vorrei estrarre tutto e poi mostrarli in tabelle in base al gruppo!

    E' possibile?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  2. #2
    Utente di HTML.it L'avatar di Robycz
    Registrato dal
    Jul 2002
    Messaggi
    245
    per esempio le potresti estrarre ordinate per gruppo e, in fase di "response.write", controllare con una variabile di appoggio se il gruppo del record attuale è uguale al gruppo del record precedente.
    Se è uguale aggiungi una riga alla tabella "<tr><td>....</td></tr>"
    Se non è uguale chiudi la tabella, ne apri un'altra, aggiungi una riga.

  3. #3

    ops

    ops...scusa....

    un esempio pratico?!
    ti preeeego!!!!!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  4. #4
    Innanzitutto la select deve restituire i record ordinati per gruppo.

    Poi ti crei una variabile sentinella che controlla il variare del campo gruppo.

    il codice (vb) dovrebbe essere questo
    codice:
    gruppo = 0
    do while rs.eof
       if gruppo <> rs("gruppo") then 
            if gruppo <> 0 then 
                 ' Chiusura tabella precedente
                 ' Crea intestazione nuova tabella 
            end if
            gruppo = rs("gruppo")
       end if 
       ' <TR> del record
       rs.movenext
    loop
    if gruppo <> 0 then 
       'chiusura tabella
    end if

  5. #5

    no

    io ho scritto:

    <%
    gruppo = 0
    do while partGruppo.eof
    if gruppo <> (partGruppo.Fields.Item("GRUPPO").Value) then
    if gruppo <> 0 then %>
    </table>
    <table width="450" border="0" align="center" cellpadding="3" cellspacing="3" class="tab_sfondo">
    <% end if
    gruppo = (partGruppo.Fields.Item("GRUPPO").Value)
    end if %>
    <tr class="tab_celle">
    <td width="15">&amp;ID_SPORT=<%=(partGruppo.Fields.Item("ID_SPORT ").Value)%>&amp;ID_MOND=<%=(partGruppo.Fields.Item ("ID_MOND").Value)%>&amp;MONDIALI=1&amp;LINGUA=<%= Request.QueryString("LINGUA")%>">[img]/images/select_arrow.gif[/img]</td>
    <td><%=(partGruppo.Fields.Item("SQUADRA_A").Value)%> - <%=(partGruppo.Fields.Item("SQUADRA_B").Value)%></td>
    <td width="100" rowspan="2"><div class="risultato"><%=(partGruppo.Fields.Item("RISU LTATO").Value)%></div></td>
    </tr>
    <tr>
    <td height="2" colspan="2">[img]/images/spacer.gif[/img]</td>
    </tr>
    <% partGruppo.movenext
    loop
    if gruppo <> 0 then %>
    </table>
    <% end if %>

    però non succede nulla, come mai?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    254
    perchè gruppo vale sempre 0, invece ogni volta che cambi gruppo devi riassegnare la variabile, così confronti sempre con il gruppo corrente

  7. #7

    quindi

    quindi dovrei assegnare ogni volta il valore del gruppo?

    tipo anzichè

    gruppo = 0

    gruppo = "GRUPPO I"

    e la seguente

    gruppo = "GRUPPO II"

    e così via????

    Ma non esiste un altro modo? Tipo costruendo un array in base ai gruppi che estrae la select?
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  8. #8
    Utente di HTML.it L'avatar di Robycz
    Registrato dal
    Jul 2002
    Messaggi
    245
    Dovrebbe funzionare...
    Non è percaso che "0" è uno dei valori di GRUPPO?
    cosa intendi per "non succede nulla"? quale codice scrive e quale non scrive?

    PS:
    prova a fare un response.write della stringa sql con cui estrai i dati dall'archivio e riportala, magari c'è qualcosa lì..

  9. #9

    intendo

    intendo che no "scrive" nulla.... la select è giusta, infatti se elenco tutto normalmente funziona...però se scrivo quel codice non scrive nulla, non da nemmeno errore!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  10. #10
    partGruppo.Fields.Item("GRUPPO").Value è un intero?
    Se è una stringa devi inizializzare la variabile a stringa vuota

    codice:
    gruppo = ""
    Se non hai gli strumenti per fare un debug ti conviene stampare a video, nel ciclo,
    il valore di gruppo e di partGruppo.Fields.Item("GRUPPO").Value
    per capire se ci entri nel loop e come varia la variabile.
    Se non stampi niente secondo me non ci entri proprio nel ciclo do while

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.