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

    Inserimento multiplo record

    Salve,

    Da un elenco di prodotti vorrei selezionarne alcuni e scriverli su un'altra tabella del db con la scelta facoltativa di apporre un flag sui checkbox 'sera' e 'mattina'.
    Il seguente script mi permette di scrivere sull'altra tabella il campo 'idprodotto' e 'idtrattamento', ma i checkbox non vengono scritti correttamente.
    Cosa sbaglio?


    <form action="es_02.asp" method="post">

    <%

    'aperta connnessione al database
    Set Conn = Server.createobject("ADODB.Connection")
    Conn.connectionstring="Driver={MySQL ODBC 3.51 Driver}; ....................."
    Conn.Open


    Set Rs = Server.CreateObject("ADODB.Recordset")
    SQL ="SELECT * FROM prodotti order by idprodotto LIMIT 3"


    RS.Open SQL,Conn, 3, 3

    While not RS.EOF

    %>

    <%=rs("idprodotto")%>/<%=rs("descr")%>
    <input type="checkbox" name="idprodotto" value="<%=rs("idprodotto")%>" />
    Mattina <input type="checkbox" name="mattina" value="1" />
    Sera <input type="checkbox" name="sera" value="1" />
    <input name="IdTrattamento" type="hidden" value="<% = request.querystring ("IdTrattamento")%>" />

    <br />

    <%
    RS.MoveNext
    Wend
    %>


    <input type="submit" value="Invia" class="button" />
    </form>

    <%
    RS.Close
    Set RS = nothing
    Conn.Close
    Set Conn = nothing
    %>


    ********** PAGINA DI INSERIMENTO ************

    <%
    ' recupero i dati dai form
    Dim mode, mode_a, i
    mode = Request("idprodotto")

    mode_a = split(mode,",")

    For i=LBound(mode_a) to UBound(mode_a)

    ' inserisco nel ciclo i dati nel DB
    Set Connn = Server.createobject("ADODB.Connection")
    Connn.connectionstring="Driver={MySQL ODBC 3.51 Driver}; ............................"
    Connn.Open
    strSQL = "INSERT INTO relazprodtratt " &_
    "(idprodotto, mattina, sera, idtrattamento) " &_
    "VALUES " &_
    "('"&mode_a(i)&"' , '"&Request.Form("mattina")&"' , '"&Request.Form("sera")&"', '"&Request.Form("IdTrattamento")&"' )"
    Connn.Execute(strSQL)
    'response.write(strSQL)
    Connn.close

    Next

    ' redirect
    response.Redirect "......."
    %>


    Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    edit
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    che significa "i checkbox non vengono scritti correttamente" ?

    quando copia-incolli il post da un'altro forum... per piacere accertati di non trasportare informazioni non inerenti al post
    inoltre ricordati di usar il tag code per postare codice (vedi tasto # in modalità avanzata)

  4. #4
    Significa che se seleziono un solo record riesco a scrivere correttamente nel database i valori dei checkbox selezionati.
    Invece se si tratta di più di un record da scrivere valori dei
    checkbox selezionati è nullo

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    i checkbox non inviano i valori se non sono selezionati, il problema dovrebbe essere li.
    prova a settare a "0" i valori vuoti si "sera" e "mattina", poi stampa tutte le query prima di eseguirle per controllarne il risultato.

  6. #6
    Grazie per la risposta ma nulla da fare ... il risultato è questo:

    INSERT INTO relazprodtratt (idprodotto, mattina, sera, idtrattamento) VALUES ('7' , '' , '' , ', , ' )INSERT INTO relazprodtratt (idprodotto, mattina, sera, idtrattamento) VALUES (' 8' , '' , '' , ', , ' )




  7. #7
    Questo il nuovo codice:

    codice:
    <form action="es_02b.asp" method="post">
    <%=rs("idprodotto")%>/<%=rs("descr")%><input type="checkbox" name="idprodotto" value="<%=rs("idprodotto")%>"  />
    Mattina <input type="checkbox" name="mattina<%=rs("idprodotto")%>" id="mattina<%=rs("idprodotto")%>" value="0"  />
    Sera <input type="checkbox" name="sera<%=rs("idprodotto")%>"  id="sera<%=rs("idprodotto")%>" value="0"  />
    <input name="IdTrattamento" type="hidden"  value="<% =
    </form>
    
     // Pagina di inserimento
    
    ' recupero i dati dai form
    Dim mode, mode_a, i, mattina, sera
    	mode = Request("idprodotto")
    
    
    	mode_a = split(mode,",")
    	
    	
    
    
    	For i=LBound(mode_a) to UBound(mode_a)
    	
    	mattina = Request.Form("mattina" &Request.Form("idprodotto"))
    	
    	sera = Request.Form("sera" &Request.Form("idprodotto"))
    	
    	
    
    
    ' inserisco nel ciclo i dati nel DB
    		Set Connn = Server.createobject("ADODB.Connection")
    			Connn.connectionstring=""
    			Connn.Open
    			strSQL = "INSERT INTO relazprodtratt " &_
    					 "(idprodotto, mattina, sera, idtrattamento) " &_
    					 "VALUES " &_
    					 "('"&mode_a(i)&"' , '"&mattina&"' , '"&sera&"' , '"&Request.Form("IdTrattamento")&"'  )"
    			Connn.Execute(strSQL)
    			response.write(strSQL)
    			Connn.close
    	
    	Next

Tag per questa discussione

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