webForumDet fria alternativet

Kryssrutor - mindre kod...

ASP

2 svar · 245 visningar · startad av Annakay

Medlem sedan sep. 2003143 inlägg
Frågan#1

Håller på med en liten funktion där man kan skapa ett test på en kurs. En sida skriver ut samtliga frågor som finns för en kurs från en SQL-databas. Vid varje fråga finns en kryssruta. Man kryssar för de frågor man vill ska vara med i testet och klickar på "Skapa nytt test".

Hur gör jag smidigast för att mata in värdena från kryssrutorna in i databasen? Tänkte om det fanns någon funktion ungefär som:

"För varje förbockat alternativ"
"Mata in i databas"

Istället för "If kryssruta1 == true then...

Det är uppemot 100 frågor på vissa kurser... Många if-satser blir det i så fall...

// Anna

Medlem sedan maj 2002560 inlägg
#2

Prova med det här

	dim AntalKryssrutor

	AntalKryssrutor = 5
	if request.form("goOn") = "true" then
		for i = 1 to AntalKryssrutor
			if request.form("kryssruta"&i) = "on" then
				response.write i & " är checkad<br>"
				' mata in i databas
			end if
		Next
	else
		response.write "<form action = """&request.servervariables("script_name")&""" method = ""post"">"
		for i = 1 to AntalKryssrutor
			response.write "Kryssruta " & i &"<input type = ""checkbox"" name = ""kryssruta"& i &"""><br>"
		next

		with response
			.write "<input type = ""hidden"" value = ""true"" name = ""goOn""><br>"
			.write "<input type = ""submit"" value = ""posta"">"
			.write "</form>"
		end with
	end if
Medlem sedan nov. 20017 144 inlägg
#3

Så här kanske:

boxar=request.form("boxar")
sql = "select from Table where box_id in(" & boxar  & ")"
con.Execute sql,,128
258 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)