inserimento valori checkbox in db

Sirio

Nuovo Utente
17 Nov 2011
28
1
1
Buonasera a tutti,
credo sia un argomento che è già stato trattato molto volte ma cercando sul forum non ho trovato discussioni a riguardo, magari non ho affinato la ricerca, in tal caso mi scuso...

Dunque, il problema è il seguente: io ho un form con diversi campi tra cui un gruppo di checkbox; tutti i dati compilati vengono passati ad una seconda pagina in cui vengono mostrati come riepilogo e successivamente memorizzati in un db.

Questo il codice html delle checkbox:
Codice:
<input type="checkbox" name="settore" id="settore" value="settore1" /> settore1<br />
<input type="checkbox" name="settore" id="settore" value="settore2" /> settore2<br />
<input type="checkbox" name="settore" id="settore" value="settore3" /> settore3<br />
<input type="checkbox" name="settore" id="settore" value="settore4" /> settore4<br />
<input type="checkbox" name="settore" id="settore" value="settore5" /> settore5<br />
Eventualmente i value delle checkbox posso renderli numerici (id record) ed estrapolarli dal db

Questo è il codice di recupero di ciò che è stato checkato:
Codice:
dim settore_arr
settore_arr = split(request.form("settore"),",")

Per mostrare il contenuto dell'array contenente le scelte uso:
Codice:
for i = 0 to ubound(settore_arr)
response.Write("- " & settore_arr(i) & "<br>")

Fin qui tutto bene ... Il problema sorge quando voglio popolare il/i campo/i della tabella corrispondente/i al/ai settori scelti.

Ho provato integrando il codice valorizzando delle varibili per poi passare questo valore al record, 1 checkato, 0 non checkato (valore predefinito impostato anche nel db):
Codice:
for i = 0 to ubound(settore_arr)
response.Write("&nbsp;&nbsp;&nbsp;&nbsp; - " & settore_arr(i) & "<br>")
if settore_arr(i)="settore1" then
settore1 = 1
else
settore1 = 0
end if
....
if settore_arr(i)="settoren" then
settoren = 1
else
settoren = 0
end if
Se il valore dell'array è uguale ai diversi settori, allora la variabile corrispondente al settore è valorizzata a 1, altrimenti a 0.

L'inserimento, poi, lo eseguo in questo modo, ma con esito negativo
Codice:
rs.Open "tabella", cn, 3, 3
rs.AddNew
...
...
rs("settore_settore1") = settore1
rs("settore_settore2") = settore2
rs("settore_settoren") = settoren
...
rs.Update
rs.Close

Ho pensato anche di impostare, nella tabella, un campo unico contenente tutti i valori checkati separati da virgola (settore1,settore4,settoren) ma se poi dovessi filtrare i risultati ed estrapolare solo i record contenenti determinati settori credo che avrei qualche problema, o sbaglio?

Spero di essere riuscito a spiegare la questione
Rimango in attesa di vostre preziose delucidazioni
Grazie
Sirio
 

Sirio

Nuovo Utente
17 Nov 2011
28
1
1
Aggiornamento: ho risolto in questo modo

Codice:
<input type="checkbox" name="settore1" id="settore1" value="settore1" /> settore1<br />
<input type="checkbox" name="settore2" id="settore2" value="settore2" /> settore1<br />
<input type="checkbox" name="settore3" id="settore3" value="settore3" /> settore1<br />
<input type="checkbox" name="settore4" id="settore4" value="settore4" /> settore1<br />
<input type="checkbox" name="settore5" id="settore5" value="settore5" /> settore1<br />

e recuperando i dati così

Codice:
if request.Form("settore1")="settore1" then
settore1 = 1
else
settore1 = 0
end if
...
if request.Form("settoren")="settoren" then
settoren = 1
else
settoren = 0
end if

per poi memorizzarli nel db così

Codice:
rs("settore_settore1") = settore1

vorrei comunque approfondire se, e nel caso come, è possibile effettuare la stessa operazione attraverso un array nel caso in cui le checkbox avessero il medesimo name come indicato in apertura discussione.

Grazie
Sirio
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
552
13
18
Italy
www.riciclarte.info
Ciao,
potresti ridurre il codice così facendo:
Codice:
<input type="checkbox" name="settore1" id="settore1" value="1" /> settore1<br />
<input type="checkbox" name="settore2" id="settore2" value="1" /> settore1<br />
<input type="checkbox" name="settore3" id="settore3" value="1" /> settore1<br />
<input type="checkbox" name="settore4" id="settore4" value="1" /> settore1<br />
<input type="checkbox" name="settore5" id="settore5" value="1" /> settore1<br />
<%
	
	Settore1 = request.Form("settore1")
	
%>
Oppure direttamente:
<%

	rs("settore_settore1") = request.Form("settore1")
	
%>
...comunque bravo per esserci riuscito da solo :)
 

Sirio

Nuovo Utente
17 Nov 2011
28
1
1
Ciao Paolo, ti ringrazio per la risposta, cercherò di ottimizzare il codice come suggerito.
Invece, per quanto riguarda il mio tentativo inziale con gruppo di checkbox con stesso name in questo caso ha poco senso ... mi sa che è meglio utilizzare lo stesso name solo nel caso in cui si utilizzino i radio button ... poi sicuramente c'è il modo anche con le checkbox ma non riesco proprio a capire come rielaborare i dati acquisiti per poi assegnarli al campo corretto della tabella

Grazie ancora
Sirio
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
552
13
18
Italy
www.riciclarte.info
Ti può interessare questo script?

Codice:
<p>Cosa ti interessa acquistare?</p>
<form method="post" action="script.asp">
<input type="checkbox" name="settore1" value="Maglia" />Maglia
<input type="checkbox" name="settore1" value="Camicia" />Camicia
<input type="checkbox" name="settore1" value="Pantalone" />Pantalone
<input type="checkbox" name="settore1" value="Mutante" />Mutante
<input type="submit" value="Submit">
</form>
<%

Dim mode, mode_a, i
mode = Request("settore1")
If Request("settore1") <> "" Then
	mode_a = split(mode,",")
	
		Response.Write("<p>Acquisto:</p>")
	For i=LBound(mode_a) to UBound(mode_a)
	
' qua inserisco il codice che aggiorna il DB
		Response.Write mode_a(i) + "<br>"
	Next

End If

%>

Paolo
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Difficoltà inserimento valori nella tabella scontrini PHP 16
N Inserimento valori da Joomla a database MySql tramite PHP Joomla 0
P Blocco inserimento valori con script attiva/disattiva oggetti form Javascript 5
M Inserimento multiplo di valori nei rispettivi record sql PHP 5
N Inserimento valori multipli PHP 1
A problema con l'inserimento di valori in una tabella dopo una ricerca da form Classic ASP 1
D [Access] Come fare un calcolo dopo l'inserimento di due valori MS Access 0
D Inserimento video mp4 HTML e CSS 0
L inserimento form dati multipli ? PHP 0
G Appicazione HTML per inserimento dai in Database Access Microsoft HTML e CSS 0
J Form inserimento dati in database Ajax 1
D modificare questo codice per inserimento in text e non in tabella jQuery 1
R [C#] Automatizzare un inserimento di un Post su un Gruppo Facebook .NET Framework 0
M Aiuto con inserimento immagini WordPress 6
elpirata Impedire inserimento data di oggi e date passate jQuery 39
A Inserimento dati nel database tramite form + altre operazioni PHP 18
W Email conferma inserimento Classic ASP 0
S Inserimento multiplo non richiesto PHP 2
P inserimento icone social tramite html HTML e CSS 1
L form multipla php sql,errore in inserimento MySQL 0
Alex_70 Inserimento dati a cascata PHP 204
T Da xsd a xml ed inserimento dati in excel XML 0
M Problema inserimento parole con apostrofo nel db PHP 5
C [RISOLTO]Inserimento variabile php in input html PHP 20
P Access Inserimento data. MS Access 4
L Inserimento dettagli in una maglia Photoshop 2
S [PHP] email con inserimento dati nel database PHP 23
beatle [Photoshop] problema inserimento immagini Photoshop 1
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
B [PHP] Creare PDF dopo inserimento dati form PHP 4
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
C [PHP] Form inserimento più menù a discesa PHP 9
M [PHP] Problemi su inserimento array nel db PHP 7
gandalf1959 [PHP] Inserimento di più righe non funziona come mi aspetto... PHP 2
E Inserimento dati da PHP in tabella MySQL PHP 5
E Form inserimento dati con JavaScript Javascript 0
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
G inserimento csv in tabella mysql; problema con struttura PHP 11
M [Joomla] Inserimento wow.js in template Joomla 4
K [PHP] Inserimento dati database con postgres PHP 2
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
A [PHP] Inserimento url dinamici in pagina html PHP 3
spider81man [PHP] Alert Box per confermare Inserimento o Cancellazione dato. PHP 4
gandalf1959 [MySQL] Inserimento multiplo da form multirighe MySQL 22
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
M Inserimento dati checkbox multipli in db da ajax a php PHP 1
S [PHP] inserimento su DB da tabella PHP 29
P [PHP] Problema inserimento nuove chiavi in array PHP 2
paloppa Inserimento data su database MYSQL PHP 2
webimage [PHP] Non inserimento in tabella PHP 19

Discussioni simili