Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374

    Ciclo che non si arresta

    Non riesco ad arrestare questo ciclo:
    codice:
    Set rs2 = Server.CreateObject("ADODB.Recordset")
    rs2.ActiveConnection = MM_remtech_STRING
    rs2.Source = "SELECT * FROM configurazioni WHERE modello = '"&session("modello")&"'"
    rs2.Open()
    
    do while not rs2.eof
    
    for each item in request.queryString()
    
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.ActiveConnection = MM_remtech_STRING
    rs.Source = "SELECT * FROM componenti WHERE cod_art = '" & request.queryString(item) & "'"
    rs.Open()
    
    on error resume next
    response.write "<div style=""margin-bottom:10px;""><span class=""testoarancionemini"" id=""testoarancionemini"">"&replace(rs("cat"),"_","") & ":</span><span id=""testomini"" class=""testomini"">" & rs("desc_art") & "</span></div>"
    
    rs.Close()
    Set rs = Nothing
    
    next
    
    rs2.movenext
    loop
    
    rs2.Close()
    Set rs2 = Nothing
    Esso si ripete un numero di volte pari al numero di oggetti inviati per stringa. In un certo senso ne ho bisogno, ma voglio che non si ripeta mai e i risultati vengano mostrati una sola volta!

  2. #2
    beh...

    se fai un

    for each item in request.queryString()

    è ovvio che si ripeta per tutti gli oggetti in querystring
    san imente saluta

    * http://simonecingano.it *

  3. #3
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755

    Re: Ciclo che non si arresta

    Originariamente inviato da Grinder
    ...e i risultati vengano mostrati una sola volta!
    Scusa la domanda idiota:
    ma che ti cambia a stamparlo una volta per ciclo o tutto insieme alla fine del ciclo stesso?

    comunque ti basta mettere ciò che vuoi stampare in una variabile...
    al posto di
    codice:
    response.write "<div style=""margin-bottom:10px;""><span class=""testoarancionemini"" id=""testoarancionemini"">"&replace(rs("cat"),"_"," ") & ": </span><span id=""testomini"" class=""testomini"">" & rs("desc_art") & "</span></div>"
    metterai nel ciclo

    codice:
    tempStamp=tempStamp & "<div style=""margin-bottom:10px;""><span class=""testoarancionemini"" id=""testoarancionemini"">"&replace(rs("cat"),"_"," ") & ": </span><span id=""testomini"" class=""testomini"">" & rs("desc_art") & "</span></div>"
    e fuori
    codice:
    response.write(tempStamp)
    :master:
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  4. #4
    ah si...
    direi che intendeva quello :P

    ora vediamo...
    san imente saluta

    * http://simonecingano.it *

  5. #5
    se togli 'on error resume next' forse resci a vedere dove sta l'inghippo...

  6. #6
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Il problema vero è che devo ordinare un ciclo il cui input in querystring è ordinato mentre l'output è riordinato secondo un criterio che non ho mai capito. Mi è stato detto che non è possibile ordinare una stringa e ci vorrebbe un algoritmo di ordinamento sugli array, totalmente fuori discussione, non lo farò MAI a meno che qualcuno non mi dia il codice già fatto!

  7. #7
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Per ora il codice che uso e funziona è questo:
    codice:
    for each item in request.queryString()
    
    sql = "SELECT * FROM componenti WHERE cod_art = '" & request.queryString(item) & "'"
    set rs = MM_remtech_STRING.execute(sql)
    if not rs.eof then
    response.write "<div style=""margin-bottom:10px;""><span class=""testoarancionemini"" id=""testoarancionemini"">"&replace(rs("cat"),"_","") & ":</span><span id=""testomini"" class=""testomini"">" & rs("desc_art") & "</span></div>"
    end if
    rs.Close()
    Set rs = Nothing
    
    next
    L'unico inconveniente è che il ciclo riordina a suo piacimento gli oggetti della query e il mio capo ha la pretesa che vengano ordinati secondo l'input....

  8. #8
    Utente di HTML.it L'avatar di Grinder
    Registrato dal
    Mar 2003
    Messaggi
    1,374
    Nessun suggerimento?

  9. #9
    com'e' la tua querystring? fa' un esempio

  10. #10
    Ricapitoliamo.

    Mi sembra di avere capito che hai risolto il problema oggetto del post iniziale........bastava sostituire al ciclo esterno

    codice:
    do while not rs2.eof
    .............
    ciclo interno (for each item ecc. ecc...)
    .............
    rs2.movenext
    loop
    una semplice condizione
    codice:
    if not rs2.eof then
    .............
    ciclo interno (for each item ecc. ecc...)
    .............
    end if
    Penso però che la ripetizione dell'elenco degli item presenti nella querystring non avvenisse tante volte quanti erano questi items, ma piuttosto quanti erano i records recuperati dalla query
    "SELECT * FROM configurazioni WHERE modello = '"&session("modello")&"'"
    I due valori, naturalmente, potevano coincidere........

    Per quanto riguarda l'output: l'elenco degli oggetti non è presentato secondo l'ordine in cui essi compaiono nella querystring?
    com'e' la tua querystring? fa' un esempio
    mi associo alla richiesta.....magari vediamo anche la lista degli oggetti estratti con quella stessa querystring?
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.