webForumDet fria alternativet

Insert flera rader

3 svar · 180 visningar · startad av Inferis

InferisMedlem sedan sep. 2000670 inlägg
#1

Jag vill kunna posta flera fält samtidigt så att det läggs in på olika rader i en tabell.
Men man måste inte fylla i alla fält. Funkar det med loop och sånt då?


<form type="method" action="lagg_till.asp" method="POST">
Måste fyllas i:<input type="text" name="rubrik1"><br>
Måste fyllas i:<input type="text" name="alt1"><br>
Frivilligt:<input type="text" name="alt2"><br>
Frivilligt:<input type="text" name="alt3"><br>
Frivilligt:<input type="text" name="alt4"><br>
Frivilligt:<input type="text" name="alt5"><br>
Måste fyllas i:<input type="text" name="Annat1"><br>

Måste fyllas i:<input type="text" name="rubrik2"><br>
Måste fyllas i:<input type="text" name="alt1"><br>
Frivilligt:<input type="text" name="alt2"><br>
Frivilligt:<input type="text" name="alt3"><br>
Frivilligt:<input type="text" name="alt4"><br>
Frivilligt:<input type="text" name="alt5"><br>
Måste fyllas i:<input type="text" name="Annat2"><br>

Måste fyllas i:<input type="text" name="rubrik3"><br>
Måste fyllas i:<input type="text" name="alt1"><br>
Frivilligt:<input type="text" name="alt2"><br>
Frivilligt:<input type="text" name="alt3"><br>
Frivilligt:<input type="text" name="alt4"><br>
Frivilligt:<input type="text" name="alt5"><br>
Måste fyllas i:<input type="text" name="Annat3"><br>

/och sju grupper till...)

<input type="submit" value="Skicka">
</form>

<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   	Addera = "SELECT * FROM Valt"

	connect.execute ("INSERT INTO valt (Rubrik, Alt1, alt2, alt3, alt4, alt5, annat, Nick) values('" & strRubrik & "','" & strAlt1 & "','" & strAlt2 & "',''" & strAlt3 & "','" & strAlt4 & "','" & strAlt5 & "''" & strAnnat & "'," & Username & "')")

	next

	RecSet.Close
	Connect.Close
	Set Connect = Nothing
%>
InferisMedlem sedan sep. 2000670 inlägg
#2

Varje "grupp" ska alltså vara en rad i databasen.
Rubrik1 på en rad
Rubrik2 på en rad osv..

LarsGMedlem sedan dec. 200012 464 inlägg
#3
rubrik1 = split(request.form("rubrik1"),",")
alt1 = split(request.form("alt1"),",")
...

for i = 0 to ubound(rubrik1)
    connect.execute "INSERT INTO valt (Rubrik, Alt1, alt2, alt3, alt4, alt5, annat, Nick) " & _
 " values('" & Rubrik1(i) & "','" & Alt1(i) & "','" & Alt2(i) & "',''" & Alt3(i) & "','" & Alt4(i) & "','" & Alt5(i) & "''" & Annat(i) & "'," & Username & "')",,128
next

Connect.Close
Set Connect = Nothing
%>

Egentligen så borde du bryta ut alt1 till alt5 och lagra det i en separat tabell.

InferisMedlem sedan sep. 2000670 inlägg
#4

Alt1 måste finnas. Man ska själv kunna välja om man vill ha fler.

Eller hur menar du med att bryta ut alt1 till alt5? Har redan en annan tabell där data om vem som lagt in alla tio rader finns.

Jag har märkt att jag är ganska dålig på att formulera. Fattar inte själv vad jag skrivit. :-(

Ska testa din kod sen LarsG. Måste tillbaka till jobbet nu.
Tack.

135 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)