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

    Passaggio valori da form con stessi campi

    Salve amici, ho un modulo con dei campi variabili che però assumono lo stesso NOME.
    Mi spiego meglio:

    questo modulo viene generato dinamicamente da dati presi da un db.
    i campi sono

    QU, VOCE, PREZZO, TOTALE, GIORNO

    e sono relativi ad una comanda ristorativa.
    In base alla comanda, le voci QU, VOCE e PREZZO possono aumentare.
    Se passo il form, quindi, avrò nValori QU, VOCE, PREZZO e un solo valore TOTALE, GIORNO

    I valori dei campi TOTALE e GIORNO vanno su una tabella db, mentre le voci QU, VOCE, PREZZO vanno su una tabella collegata ovviamente con COMANDA_ID uguale.

    Come faccio ad inserirli in ciclo?!

    Avevo provato con:

    codice:
    FOR i=1 TO (Request.Form.Count() - 3)
    
    corpo = corpo + Request.Form.Key(i) & " = " & Trim(Request.Form(i)) &"
    "
    
    NEXT
    ma ovviamente mi restituisce il nome di un campo con l'elenco dei valori seguiti da virgola!
    una cosa tipo:

    QU = 8,1,4,6
    VOCE = Pizza, Spaghetti al pomodoro, Baccalà,.....
    PREZZO = 8, 7, 9, 10

    Come posso risolvere?!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Volendo con tre array. Tanto tutti contengono lo stesso numero di elementi.

    Roby

  3. #3

    allora...

    Allora io avevo già fatto così:
    codice:
    FOR i=1 TO (Request.Form.Count() - 3)
    
    if request.Form.Key(i) = "QU" then
    QU = split(Trim(Request.Form(i)), ",")
     for dividi=0 to Ubound(QU)
     response.write("QU = "&QU(dividi)&"
    ")
     next
    end if
    
    if request.Form.Key(i) = "VOCE" then
    QU = split(Trim(Request.Form(i)), ",")
     for dividi=0 to Ubound(QU)
     response.write("QU = "&QU(dividi)&"
    ")
     next
    end if
    .....
    NEXT
    Però poi come costruisco la query per l'INSERT?????
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Invece della response.write devi costruirti una variabile con contenuto dinamico...
    Ad ogni ciclo aggiungi un pezzo.

    Roby

  5. #5
    Intendi una cosa simile?!
    codice:
    SQL = "INSERT INTO quinto_fat_det (QU, VOCE, PREZZO) VALUES ("
    FOR i=1 TO (Request.Form.Count() - 3)
    
    	if request.Form.Key(i) = "QU" then
    	QU = split(Trim(Request.Form(i)), ",")
    	 for dividi=0 to Ubound(QU)
    	 SQL = SQL & "'"&QU(dividi)&"', "
    	 next
    	end if
    	
    	if request.Form.Key(i) = "VOCE" then
    	VOCE = split(Trim(Request.Form(i)), ",")
    	 for dividi=0 to Ubound(VOCE)
    	 SQL = SQL & "'"&VOCE(dividi)&"', "
    	 next
    	end if
    	
    	if request.Form.Key(i) = "PREZZO" then
    	PREZZO = split(Trim(Request.Form(i)), ",")
    	 for dividi=0 to Ubound(PREZZO)
    	 SQL = SQL & "'"&PREZZO(dividi)&"', "
    	 next
    	end if
    
    
    NEXT
    SQL = SQL & ")"
    Ma così non funziona e fa un solo insert!
    A me servono n insert in base a quanti campi sono!
    Digital XP - The new expression of digital art! - http://www.mimanchitu.it

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.