hjälp med loop

ASP

3 svar · 206 visningar · startad av room

Medlem sedan mars 2001270 inlägg
Trådstart#1

Hejsan igen vänner.

Jag har ett problem med en loop inuti ett script om någon kan hjälpa mig lite så vore jag tacksam..

Jag vill sätta ihop följande kod till en Do Until intX = 10 (exempelvis)

OBS: detta är endast loopen två gånger. I själva verket ska detta skrivas ut 10 gånger men det tar så mycket plats. Ni förstår säkert.

IF request("list_option") = 1 then
 	IF Len(ProduktData("options1")) > 0 then
		posOption1 = instr(ProduktData("options1"), ":")
		Response.Write (Len(ProduktData("Options1")) - PosOption1)
		newOption1 = Right(ProduktData("options1"), (Len(ProduktData("Options1")) - PosOption1))
		ProduktData("options1") = Request("option_name") & ":" & newOption1
	Else ProduktData("options1") = Request("option_name") & ":"
	End IF
End IF

IF request("list_option") = 2 then
	IF Len(ProduktData("options2")) > 0 then
		posOption1 = instr(ProduktData("options2"), ":")
		Response.Write (Len(ProduktData("Options2")) - PosOption2)
		newOption2 = Right(ProduktData("options2"), (Len(ProduktData("Options2")) - PosOption2))
		ProduktData("options2") = Request("option_name") & ":" & newOption2
	Else ProduktData("options2") = Request("option_name") & ":"
	End IF
End IF

// Daniel H

Medlem sedan dec. 200012 464 inlägg
#2

Något så här kanske?

for number = 1 to 10
IF Len(ProduktData("options" & number)) > 0 then
   posOption1 = instr(ProduktData("options" & number), ":")
   Response.Write (Len(ProduktData("Options" & number)) - PosOption1)
   newOption1 = Right(ProduktData("options" & number), (Len(ProduktData("Options" & number)) - PosOption1))
   ProduktData("options" & number) = Request("option_name") & ":" & newOption1
Else 
   ProduktData("options" & number) = Request("option_name") & ":"
End IF
next

Jag förstod inte vad request("list_option") betydde i sammanhanget.

Medlem sedan mars 2001270 inlägg
#3

njaee.. inte så riktigt. Grejjen är att jag vill att alla 1'or ska bytas mot tvåor i loopen. Jag ska nämligen kolla vilket fält i databasen som ska uppdateras och beroende på om det är fält 1 så ska fält 1 i databasen uppdateras osv.

Medlem sedan dec. 19996 721 inlägg
#4

IF len(request("list_option"))>0 then
strCol="options" & request("list_option")
IF Len(ProduktData(strCol)) > 0 then
posOption = instr(ProduktData(strCol), ":")
Response.Write (Len(ProduktData(strCol)) - posOption)
newOption = Mid(ProduktData(strCol), posOption+1)
ProduktData(strCol) = Request("option_name") & ":" & newOption
Else ProduktData(strCol) = Request("option_name") & ":"
End IF
End IF

alternativt kan man lösa med en SQL-sats, med lite SUBSTRING och CHARINDEX

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)