Ciao
se non si fosse ancora capito questa pagina è un inserimento partite per un calendario di calcio.
Ho inserito in una form 2 select option che recuperano dalla stessa TabSquadre i valori delle squadre per poi inserirle nel db.
Le select option sono identiche ed hanno questo codice:
codice:
<select name="ID_SQUADRA" id="ID_SQUADRA" >
<option value="-"></option>
<%While Not rs.EOF%>
<option value="<%=rs("ID_SQUADRA")%>-<%=rs("NOME_SQUADRA")%>">
<%=rs("NOME_SQUADRA")%>
</option>
<%
'Vai al prossimo
rs.MoveNext
Wend
%>
</select>
Il primo problema è che tutte e due le option ricevono gli stessi valori dalla stessa tabella:
codice:
sql = "SELECT * from TabSquadre where ID_TORNEO = "&id_v&" "
detto questo, nelle option recupero 2 valori x ognuna che sono:
ID_SQUADRA ed NOME_SQUADRA che andranno scritti nel db.
Questi 2 valori, 2 e x option, li separo con un funzione split:
codice:
function dividi(variabile,separatore,posizione)
if posizione = 1 then
dividi2=split(variabile,separatore)
dividi=dividi2(0)
if dividi=""then
dividi=0
end if
end if
if posizione = 2 then
dividi2=split(variabile,separatore)
dividi=dividi2(1)
end if
if posizione = 3 then
dividi2=split(variabile,separatore)
dividi=dividi2(2)
end if
if posizione = 4 then
dividi2=split(variabile,separatore)
dividi=dividi2(3)
end if
end function
Poi mi creo le variabili per l'inserimento:
codice:
'Select Option Squadra_1
id_squadra_1=dividi(request.form("ID_SQUADRA"),"-",1) 'Numerico che proviene select
nome_squadra_1=dividi(replace(request.form("ID_SQUADRA"), "'", "''"), "-",2)'Testo che proviene select
'Select Option Squadra_2
id_squadra_2=dividi(request.form("ID_SQUADRA"),"-",3) 'Numerico che proviene select
nome_squadra_2=dividi(replace(request.form("ID_SQUADRA"), "'", "''"), "-",4)'Testo che proviene select
...il secondo problema si presenta al momento dell'inserimento nel db xchè ottengo questo errore:
codice:
* Campo obbligatorio
Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 2]'
...secondo me xchè il codice che ho creato confonde i valori che provengono dalle 2 option.
Il codice di inserimento è questo:
codice:
sql_calendario = "INSERT INTO TabCalendario (NOME_TORNEO, ID_TORNEO, DATA, ORA, NUM_GIORNATA, FASE, GIRONE, ID_SQUADRA_1, NOME_SQUADRA_1, ID_SQUADRA_2, NOME_SQUADRA_2) Values ('"&nome_torneo&"', "&id_v&","
if giorno="" OR mese="" OR anno="" then
sql_calendario = sql_calendario&"null,"
else
sql_calendario = sql_calendario&"#"&data&"#,"
End if
sql_calendario=sql_calendario&"#"&ora&"#,"&num_giornata&",'"&fase&"','"&girone&"',"&id_squadra_1&",'"&nome_squadra_1&"',"&id_squadra_2&",'"&nome_squadra_2&"')"
Vi garantisco che il codice funziona con option che ricevono valori da tabelle diverse anche con il recupero di 4 valori contemporaneamente!
Spero possiate aiutarmi!