Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    306

    ciclo all'interno di un altro ciclo

    In una tabella di un database ho registrato i dati in questo modo:
    tabella descrizione
    a valore1
    a valore2
    b valore3
    b valore4
    b valore5
    c valore6

    nella visualizzazione della pagina vorrei questo output:

    tabella a
    valore1
    valore2

    tabella b
    valore3
    valore4
    valore5

    tabella c
    valore6

    riporto parte del codice interessato dove mi dà il seguente errore "eccezione" alla riga evidenziata:

    do while not objrs.eof
    tabella = objrs("tabella")
    %>
    <tr><td height="31" colspan="4" class="titolo_normale">TABELLA: <%=tabella%></td>
    </tr>

    <tr align="center"><td width="167" class="bordo_tabella">TIPO DI PROPOSTA</td>
    <td width="334" class="bordo_tabella">CONDIZIONI</td>
    <td width="42" class="bordo_tabella">U.M.</td>
    <td width="79" class="bordo_tabella">IMPORTO</td>
    </tr>
    <%do while not objrs("tabella") <> tabella %>
    <tr><td class="bordo_tabella"><label><%=objrs("criterio")& "
    "&objrs("condizione")%></label></td>
    <td class="bordo_tabella"><label><%="Luogo carico: "&objrs("luogo_carico")&"; "&"ora carico: "&objrs("ora_carico")&"; "&"giorno carico: "&objrs("giorno_carico")&" e consegna Vs clienti."%></label></td>
    <td class="bordo_tabella" align="center"><label><%=objrs("um")%></label></td>
    <td class="bordo_tabella" align="center"><label><%=formatcurrency(objrs("pre zzo"), 3)%></label></td></tr>
    <%objrs.movenext
    loop
    objrs.movenext
    loop%>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi usare una variabile d'appoggio con il contenuto a, b, c....
    Se rispetto al record precedente è cambiata allora la stampi altrimenti no, e riporti solo i valori.

    Non so se mi sono capito...

    Roby

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    306
    Ciao roby,
    pensavo di averla impostata:
    do while not objrs.eof
    tabella = objrs("tabella")
    %>
    <tr><td height="31" colspan="4" class="titolo_normale">TABELLA: <%=tabella%></td>
    </tr>
    stampo il contenuto della variabile tabella;
    poi eseguo il 2 ciclo (che è la riga imputata...):

    <%do while not objrs("tabella") <> tabella %>
    vorrei che scorresse i record fino a quando il valore del recordser è diverso dalla variabile tabella; sembra che va bene fino alla fine dell'ultimo record che contiene la variabile tabella e mi spiego meglio:
    Nel sito in intranet ho una gestione degli errori nella quale ho fatto in modo che quando si verifica un errore lo registra in un databese e mi avvisa; nel momento che si verifica un errore e poiché viene eseguito il metodo transfer dell'oggetto server la pagina viene caricata parzialmente e noto che non visualizza l'ultimo record dei valori che fanno riferimento alla variabile "tabella", poi quando arriva all'ultimo valore della variabile tabello si interrompe lo script e non ci capisco più nulla...

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi assegnarla ad un valore d'appoggio PRIMA del ciclo.
    Nel ciclo se è uguale al valore d'appoggio non fai nulla altrimenti la stampi e modifichi la variabile d'appoggio con il nuovo valore.

    Roby

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    306
    finalmente dopo 2 giorni ho risolto...però inerrompendo il ciclo alla fine dei record; non so se è l'approccio migliore ma per il momento è l'unica cosa che fa funzionare lo script.
    Ti posto il codice come l'ho risolto (in caso dovesse essere utile a qualcuno), non so se puoi darmi un consiglio a migliorarlo:

    tabella = cstr(objrs("tabella"))
    do while not objrs.eof
    if objrs("tabella") = tabella then%>
    <tr><td height="31" colspan="4" class="titolo_normale">TABELLA: <%=tabella%></td>
    </tr>

    <tr align="center"><td width="167" class="bordo_tabella">TIPO DI PROPOSTA</td>
    <td width="334" class="bordo_tabella">CONDIZIONI</td>
    <td width="42" class="bordo_tabella">U.M.</td>
    <td width="79" class="bordo_tabella">IMPORTO</td>
    </tr>
    <%do while not objrs("tabella") <> tabella%>
    <tr><td class="bordo_tabella"><label><%=objrs("criterio")& "
    "&objrs("condizione")%></label></td>
    <td class="bordo_tabella"><label><%="Luogo carico: "&objrs("luogo_carico")&"; "&"ora carico: "&objrs("ora_carico")&"; "&"giorno carico: "&objrs("giorno_carico")&" e consegna Vs clienti."%></label></td>
    <td class="bordo_tabella" align="center"><label><%=objrs("um")%></label></td>
    <td class="bordo_tabella" align="center"><label><%=formatcurrency(objrs("pre zzo"), 3)%></label></td></tr>
    <%objrs.movenext
    if objrs.eof then
    response.End()
    objrs.close
    set objrs = nothing
    objconn.close
    set objconn = nothing
    end if
    loop
    else
    objrs.movenext

    end if
    tabella = cstr(objrs("tabella"))
    loop
    %>
    </table>
    <%objrs.close
    set objrs = nothing
    objconn.close
    set objconn = nothing%>

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.