16. november 2007 - 23:19
Der er
19 kommentarer og 1 løsning
Array og loop
Jeg har nedenstående som henter nogle informatiner fra en function, med numrene 1-30. Ligeledes har jeg en streng som hedder streng = "1, 4, 9, 10, 16" Hvordan hulen i min loop går jeg ind og tjekker om i matcher et tal i min streng, og hvis den gør, skal denne option have en selected Nogen der kan hjælpe? <select name="hobby" multiple="" size="6" style="width: 150px;"> <%for i = 1 to 30 %> <option value="<%=i%>" ><%=hobby(i)%></option> <%next%> </select>
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
17. november 2007 - 00:46
#1
hvis du laver strengen om til at starte og slutte med punktum, så kan du søge med InStr streng = ", " & streng & "," If InStr(streng, ", " & i & ",") > 0 Then ' tal fundet End If
19. november 2007 - 16:58
#2
Du har sat komma,ikke punktum?
19. november 2007 - 17:00
#3
men uanset om jeg bruger komma eller punktum,kan jeg ikke få det til at virke :(
19. november 2007 - 17:06
#4
Mellemrummene skal også fjernes. Og Gammelhat mente komma, ikke punktum.
19. november 2007 - 17:23
#5
Jeg har lige nu en kode der ser sådan her ud Den skriver ikke OK ud for 2,3,4, som min streng nu er.. har jeg misforstået noget? <select name="hobby" multiple="" size="6" style="width: 150px;"> <%for i = 1 to 30 streng = rs("hobby") streng = "," & streng & "," If InStr(streng, "," & i & ",") > 0 Then str0 = "|OK" End If %> <option value="<%=i%>"><%=hobby(i)%><%=str0%></option> <%next%> </select>
19. november 2007 - 17:28
#6
Prøv lige at udskrive rs("hobby") og aflæs den. Kopier det herind præcis som det står.
19. november 2007 - 17:51
#7
Den ser sådan her ud #2, 3, 4# uden # selvf. ;)
19. november 2007 - 18:16
#8
Ja, mellemrummene har vi jo ikke taget højde for. <select name="hobby" multiple="" size="6" style="width: 150px;"> <%for i = 1 to 30 streng = rs("hobby") streng = "," & streng & "," If InStr(Replace(streng," ",""), ","&i&",") > 0 Then str0 = "|OK" End If %> <option value="<%=i%>"><%=hobby(i)%><%=str0%></option> <%next%> </select>
19. november 2007 - 18:24
#9
Virker stadig ikke :( Ingen |OK kommer frem. jeg udskrev lige strHvad = InStr(Replace(streng," ",""), ","&i&",") den nupper bare et 0 ved alle.
19. november 2007 - 18:25
#10
SElvfølgelig ville det være endnu bedre, hvis de ikke blev gemt i databasen med mellemrummene, så de ikke skal fjernes hver gang.
19. november 2007 - 18:33
#11
Det lyder underligt. Prøv at se, om den fjerner mellemrummene ordentligt med: Replace(streng," ","")
19. november 2007 - 18:35
#12
Du kan evt. også prøve at se, om den kan finde ud af at returnere noget med: If InStr(streng,i) > 0 Then
19. november 2007 - 18:59
#13
Replace(streng," ","") er prøvet, den fjerner fint mellemrummene
19. november 2007 - 19:00
#14
Hvad med If InStr(streng,i) > 0 Then ?
19. november 2007 - 19:14
#15
Jeg er kommet nærmere problemet sætter jeg i = 2 to 30, altså starter med nr 2, så markerer den ved id 2, men ikke de øvrige. Så fejlen må være at strengen ikke videreføres ved de øvrige, men kun første loop
19. november 2007 - 19:17
#16
Ahh Nu er fejlen fundet :D Jeg havde skrevet for i = 2 to 30 streng = rs("hobby") Strengen skal self placeres INDEN loopét streng = rs("hobby") for i = 2 to 30
19. november 2007 - 19:27
#17
Fungerer det så nu?
19. november 2007 - 19:29
#18
Yes, nu virker det som det skal. Du må hellere smide et svar som tak for indsatsen :D
19. november 2007 - 19:32
#19
Okidoke! Men de skal nok deles med Gammelhat så.
16. januar 2008 - 22:49
#20
Tak for point!
Kurser inden for grundlæggende programmering