webForumDet fria alternativet

jänmföra & plocka bort ur en loop

ASP

5 svar · 327 visningar · startad av LR^evil.sid

Medlem sedan maj 2002560 inlägg
Frågan#1

vad scriptet skall göra är att läsa in en cookie och jämnföra med filena som finns i databasen.

det fungerar nästan. vad som blir fel är att i den markerade raden plockas inte värdet bort utan den enskillda siffran.

[red]do while not rs.eof
	dbFiles = dbFiles & " " & rs ( "dwn_id" )
	rs.movenext
loop

' response.cookies ( "dikk" ) ( "oldfiles" ) = dbFiles

response.write _
	"filarkiv: "

[blue]if-satsen här under är temporär tills jag får scriptet att fungera[/blue]
if oldF = "" then oldF = "1 2 3 34 35" else oldF = request.cookies ( "dikk" ) ( "oldfiles" )
newF = dbFiles

if oldF = newF then
	response.write "lika<br>"
else
	response.write "inte lika<br>"
	arrOld = split ( oldF, " " )

	for x = 0 to ubound ( arrOld )
		addFile = dbFiles
		[b]addFile = replace ( addFile, arrOld ( x ), "" )[/b]
		dbFiles = addFile
	next
	response.write dbFiles
end if[/red]

resultatet blir: 4 5 6 7 8 9 6 9 0 5 6 4 5
och ska vara: 4 5 6 7 8 9 12 16 19 20 21 22 23 25 26 23 33 34 35

Medlem sedan maj 2002560 inlägg
#2

.red

Medlem sedan maj 2002560 inlägg
#3

provar att flytta upp den här tråden nu när ni är på hugget :)

Medlem sedan juni 200032 967 inlägg
#4
  1. Se till så att alla tal har ett mellanslag före, och ett efter. Du får alltså lägga till ett mellanslag först i strängen med tal-listan, och ett sist.
  2. Gör din replace på mellanslag+talet+mellanslag.
addFile = replace ( addFile, " " & arrOld ( x ) & " ", "" )

Mvh,

Medlem sedan maj 2002560 inlägg
#5

tack

med följande modifiering fungerar allt fin fint

[red]	do while not rs.eof
		dbFiles = [blue][b]" " &[/b][/blue] dbFiles & " " & rs ( "dwn_id" )
		rs.movenext
	loop
	[blue][b]dbFiles = dbFiles & " "[/b][/blue]

'	response.cookies ( "dikk" ) ( "oldfiles" ) = dbFiles

	response.write _
		"filarkiv: " & vbcrlf

' determine what files the user hasn't downloaded
	dim addFile
	if oldF = "" then oldF =[blue][b]" 1 2 3 34 35 "[/b][/blue] else oldF = request.cookies ( "dikk" ) ( "oldfiles" )
	newF = dbFiles

	if oldF = newF then
		response.write "lika<br>" & vbcrlf
	else
		response.write "inte lika<br>" & vbcrlf
		arrOld = split ( oldF, " " )
		arrNew = split ( newF, " " )

		for x = 0 to ubound ( arrOld )
			addFile = dbFiles
			addFile = [blue][b]" " & [/b][/blue]replace ( addFile, [blue][b]" " & [/b][/blue]arrOld ( x )[blue][b] & " ", " "[/b][/blue] )

			dbFiles = addFile
		next
		response.write addFile & vbcrlf
	end if[/red]

tack @nders

Medlem sedan juni 200032 967 inlägg
#6

Vassego!

Mvh,

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)