Avatar billede bobbedude Nybegynder
17. februar 2003 - 14:55 Der er 10 kommentarer og
1 løsning

Opdater Array

Mit Array = 1, 2, 3, 4, 5, 6

Med en form sender jeg 4, 5, 6

hvordan får jeg opdateret mit array så den nu kun inde holder 1, 2, 3
Avatar billede Spotgun Seniormester
17. februar 2003 - 14:56 #1
Avatar billede longshanks Nybegynder
17. februar 2003 - 15:23 #2
Dette vil virke, det skulle fremgå af teksten hvad der sker:
<%
dim mitArray
mitArray = "1,2,3,4,5,6"
mitArray= split(mitArray,",")
for t = 0 to uBound(mitArray)
Response.write mitArray(t) & "<br>"
next
Redim Preserve mitArray(2)
for t = 0 to uBound(mitArray)
Response.write mitArray(t) & "<br>"
next
%>
Avatar billede longshanks Nybegynder
17. februar 2003 - 15:24 #3
DEt du skal bruge er "Redim Preserve" linien til at lave nye dimensioner i arrayet
Avatar billede bobbedude Nybegynder
17. februar 2003 - 15:31 #4
hmm jeg er ikke helt med her.

Værdierne der skal fjernes kommer fra en hidden form "Fjern" som er = 4, 5, 6

Hvor skal request.form Fjern ind ??
Avatar billede longshanks Nybegynder
17. februar 2003 - 15:35 #5
sætter du ikke 1,2,3,4,5,6 i det samme array?
Avatar billede bobbedude Nybegynder
17. februar 2003 - 15:41 #6
Jo Jeg har 1,2,3,4,5,6 i myArr
fra en for vælger jeg at 4,5,6 skal pilles ud så der kun er 1,2,3 tilbage
Avatar billede longshanks Nybegynder
17. februar 2003 - 15:46 #7
efter udvælgelsen af 4,5,6 skriver du flg:

Redim Preserve myArr(3)

Redim betyder at du definerer et nyt array med størrelsen 3 indeholdende 1,2,3 Preserve betyder at gamle værdier gemmes

Prøv bare at smække mit ovenstående eksempel i en asp side og test det, det virker med sikekrhed....
Avatar billede bobbedude Nybegynder
17. februar 2003 - 15:53 #8
Jeg må være lam i hovedet for jeg har totalt tabt tråden her.

Dit eksempel virker fint jeg kan bare ikke lige se hvor det er du vælger at 4,5,6 ikke skal med.

Hvordan gør jeg så det kommer med en request.form("Fjern") "indeholder 4,5,6" bliver fjernet ??
Avatar billede bobbedude Nybegynder
17. februar 2003 - 15:56 #9
Det jeg ville er noget ala det der er vist på denne side http://www.eksperten.dk/spm/97561
Avatar billede longshanks Nybegynder
17. februar 2003 - 15:58 #10
Arrayet har med værdierne 1,2,3,4,5,6
en størrelse på 5 (6 ialt idet index 0 tælles med)
med Redim omdefinerer vi det samme array engang til.
Redim mitArray(2)
Definerer det gamle array så det nu kun kan indeholde 3 værdier.
Preserve skal med ellers gemmer den ikke 1,2,3 dvs. den smider alle værdier ud ellers og definerer et array med plads til 3 værdier
Avatar billede bobbedude Nybegynder
18. februar 2003 - 12:54 #11
jeg gav op og lavede det sådan, og det virker fint.

SQL = "SELECT * FROM microhold WHERE holdID = "&request.querystring("holdID")&" "
Set rs = Connect.Execute(SQL)

NyStreng = request.form("kommuner")
GlStreng = rs("kommuner")
TempStreng = replace(GlStreng,NyStreng,"")

'==========Der er komma først i strengen==========
Tegn = ","
if Tegn = Left(TempStreng, 1) Then
TempStreng = Mid(TempStreng,2,len(TempStreng)-1)
end if

'==========Der er komma sidst i strengen==========
Tegn = ", "
if Tegn = Right(TempStreng, 2) Then
TempStreng = left(TempStreng,LEN(TempStreng)-2)
end if

'==========Der er dobbel komma==========
if Instr(TempStreng,", ,") Then
TempStreng = replace(TempStreng,", ,",", ")
end if


'response.write TempStreng

myArr=Split(NyStreng,",")
rs.close
For i = 0 TO Ubound(MyArr)

temp=myArr(i)

if temp <> "" then

SQL = "SELECT * FROM kommuner WHERE kommuneID = " & temp & ""
Set rs = Connect.Execute(SQL)

SQL = "Update kommuner set valgt= 'x', "
SQL = SQL & "holdID= 0 "
SQL = SQL & " WHERE kommuneID= "& temp
Connect.Execute(SQL)

set rs = nothing
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester