Jag har precis skapat ett flersidors formulär som jag sedan ska sätta in i databasen i två olika tabeller med 2 olika SQL satser. Nu dök det givetvis upp lite problem. Det finns två varianter som jag kan se, den första insert:en fungerar fint. Det är nästa del som är lite vajsing med.'
Dim rs2, SQL2, KrID
Dim i, Antal
Set rs2 = dbCom.Execute("Select @@identity")
KrID = rs2(0)
Antal = request("Antal")
For i = 1 to Antal
SQL2 = "INSERT INTO krSpel (dagarID, tid, KrID)" & _
" VALUES(" & SQLEncode(Request.Form("dagarID")) & ", " & _
" '" & SQLEncode(Request.Form("tid")) & "', " & _
" " & SQLEncode(KrID) & ")"
'dbCom.Execute SQL2,,128
response.write SQL2
Next
Så ser den ut i nuvarande form, men jag undrar om man kan göra på det viset? dagarID och tid är ju i nuvarande form 2 arrayer som håller informationen från select="dagarID" och text="tid". Ska jag splitta upp den arrayen först och sedan göra insert?
Alternativ 2 vore ju om man döper om arrayerna med siffror efteråt redan i formuläret så att det inte blir en array utan får ett helt eget dagarID1 osv och sedan loopar SQL frågan och anger plus på någe sätt... problemet då, jag vet inte hur man gör det?
Kan man "plussa" på i SQL satsen på samma sätt som i en loop när man skriver namnet ?
Dim rs2, SQL2, KrID
Dim i, Antal, oka
Dim dagarID, tid
Set rs2 = dbCom.Execute("Select @@identity")
KrID = rs2(0)
Antal = request("Antal")
oka = 1
For i = 1 to Antal
dagarID = Request.Form("dagarID") & oka
tid = Request.Form("tid") & oka
SQL2 = "INSERT INTO krSpel (dagarID, tid, KrID)" & _
" VALUES(" & SQLEncode(dagarID) & ", " & _
" '" & SQLEncode(tid) & "', " & _
" " & SQLEncode(KrID) & ")"
'dbCom.Execute SQL2,,128
response.write SQL2
oka = oka + 1
Next
Utskriften blir nu :
INSERT INTO krSpel (dagarID, tid, KrID)
VALUES(1, '1', 0)
INSERT INTO krSpel (dagarID, tid, KrID)
VALUES(2, '2', 0)
INSERT INTO krSpel (dagarID, tid, KrID)
VALUES(3, '3', 0)
Ångrade mig Första delen här är ju då formuläret, Request("Antal") är från formulärfältet antal där de får ange hur många spelkvällar de vill ha med. Fungerar utmärkt för mina enkla ändamål. Ska finputsa lite och deklarera mera
<%
dim item, Antal, i, oka
for each item in Request.Form
response.write "<input type='hidden' name='" & item & "' value='" & Request(item) & "'>"
next
Antal = Request("Antal")
oka = 1
For i = 1 to Antal
%>
<tr class="td2">
<td>Spelkväll</td>
<td>
<select name="dagarID<%=oka%>">
<option value="">.: Välj Dag :.</option>
<option value="2">Måndag</option>
<option value="3">Tisdagar</option>
<option value="4">Onsdagar</option>
<option value="5">Torsdagar</option>
<option value="6">Fredagar</option>
<option value="7">Lördag</option>
<option value="1">Söndag</option>
</select>
Tid: <input name="tid<%=oka%>" type="text" size="7" maxlength="5">
</td>
</tr>
<% oka = oka + 1
Next
%>
detta avslutas ju då med en submit och inleds med <form>
Nästa del är egentligen samma sak jag markerar den intressanta delen met fet stil. Eftersom jag gör insert i 2 olika tabeller måste jag ju hämta id från första insert:en