webForumDet fria alternativet

hjälp med loop

ASPur ASP

3 svar · 194 visningar · startad av room

roomMedlem sedan mars 2001270 inlägg
#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

------------------
// room

LarsGMedlem 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.

------------------
essentitia preter non sans multiplicandum

roomMedlem 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.

------------------
// room

emissionMedlem 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

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