Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    passaggio di variabili dinamiche

    ciao a tutti
    volevo chiedervi chi di voi sa come prelevare il valora di una variabile dinamica tramite "Request.querystring" ossia:
    Io ho una pagina asp che, leggendo dal db, mi crea tante righe quanti sono i record del db. Il metodo che ho usato per assegnare ad ogni textfield un nome differente è:

    MImporto = "MImporto" + CStr(i)
    MData = "MData" + CStr(i)
    MTipologia = "MTipologia" + CStr(i)
    MCommento = "MCommento" + CStr(i)
    i=i+1
    ovviamente tutto dentro un ciclo while che loopa fino a quando non è arrivato alla fine del file... Alla fine ottengo tanti textfield con nome MImporto0, MImporto1, MImporto2, MImporto3 e così via.., e l'utente quando preme il tasto corrispondende al textfield scelto, passa soltanto i valori di quel determinato campo

    Il problema che ho è su come fare a recuperare il valore del textfield, dato che il nome è dinamico.. nella pagina incaricata di recuperare il dato, cosa devo scrivere ?
    Request.querystring("?????")


    grazie per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    se il recordset come credo contiene una chiave contatore aggiungi la chiave al posto del CStr(i)
    qualcosa del tipo:
    codice:
    <% 
    k = 0  
    while not Rs.eof 
    
      MImporto 	= "MImporto" & Rs("CHIAVERECORD") 
     'Dove CHIAVERECORD E' IL CONTATORE e quindi un numero univoco
      MData 	= "MData" & Rs("CHIAVERECORD")  
      MTipologia 	= "MTipologia" & Rs("CHIAVERECORD") 
      MCommento 	= "MCommento" & Rs("CHIAVERECORD") 
      'Accodi le chiavi in una variabile che ti metterai in un campo hidden
      if k = 0 then
        stringTotaleChiavi = Rs("CHIAVERECORD")  
      else
       stringTotaleChiavi = "," & stringTotaleChiavi  & Rs("CHIAVERECORD")
      end if 
    	'
    	' Implementi la tua parte di output
    	'
    
    	k = k + 1
    	Rs.Movenext
    Wend  
    %>
    Alla fine dello script ti trovi la variabile stringTotaleChiavi che contiene
    tutti gli id
    e la piazzi in un
    codice:
    <input type="hidden" name="TOTALECHIAVI" value="<%=StringTotaleChiavi%>">
    Al submit splitti le chiavi in un array
    codice:
    <%
    	arrChiavi = Split(Replace(Request("TOTALECHIAVI")&""," ","")
    'ti scorri l'array e mano mano aggiorni o fai le operazioni che ti interessano
    	for k=0 to UBound(arrChiavi)
    		'ti costruisci il nome dinamico della variabile querystring
    		tempMImporto 	= Request("MImporto" & ArrChiavi(k))
    		tempMData    	= Request("MData" & ArrChiavi(k))
    		tempMTipologia  = Request("MTipologia" & ArrChiavi(k))
    		tempMCommento   = Request("MCommento" & ArrChiavi(k))
    		'A questo punto hai tutti i valori del record che ha chiave nell'array e 
    		'puoi fare un update di questo tipo
    		SQLTmp 			= "Update [TUATABELLA] set Importo = '" & tempMImporto & "',"
    					"Data = #" & tempMData   & "#, Tipologia = " & tempMTipologia  & "," &_ 
    					"Commento = '" & & "' where CHIAVERECORD = " & arrChiavi(k)
    		'i campi sono logicamente esemplificativi e pure il loro cast
    		Connection.execute SQLTmp
    		'Pulisci i valori 
    		tempMImporto = "":tempMData = "":tempMTipologia = "":tempMCommento = "" 
    	next
    %>

  3. #3
    Infatti un'operazione come
    MImporto = "MImporto" + CStr(i)
    non poteva funzionare....il punto di partenza deve essere almeno
    MImporto = "MImporto"&CStr(i)
    come poi elegantemente sviluppato da kluster...e l'acquisizione dei dati sarà (come avevi pensato) del tipo
    var = request("MImporto")
    (request.querystring oppure request.form a seconda del metodo che usi per trasferirli)

    E' nato www.lombardiamotori.it

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

  4. #4
    Vedo che vi alzate presto la mattina........

    E' nato www.lombardiamotori.it

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

  5. #5
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    gia' prima o poi la mattina collasso

  6. #6
    Ciao, se vuoi ottenere dei valori da una querystring o da un form senza sapere il nome del campo puoi usare:

    codice:
    <% dim valore(100)
    contatore = 0
    
    for each i in Request.QueryString
        valore(contatore) = Request.QueryString(i)
        contatore = contatore + 1
    next
    %>
    Questo script recupera tutte la variabili da querystring, indipendentemente dal nome e le piazza in un array.

    Ovviamente se hai solo un valore da recuperare la cosa è molto piu semplice:

    codice:
    <%
    for each i in Request.QueryString
        valore = Request.QueryString(i)
    next
    %>
    Ciao
    http://www.firesoftweb.it - Servizi gratuiti per il tuo sito web: forum, guestbook, contatori visite...

  7. #7
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Giustissimo come dice dado86ssj ,in questo caso pero' ti compliceresti la vita dato che data, tipologia commento e chiave devono in qualche modo essere identificati come un gruppo per essere passati alla query.

  8. #8
    ragazzi, vi ringrazio molto per i consigli che mi avete dato... al più presto questo pomeriggio cercherò di provarli evi farò sapere se dovessi avere dei problemi !!

    Al momento grazie mille

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.