Avatar billede mille Nybegynder
29. maj 2008 - 15:01 Der er 6 kommentarer

Array i Array , kan ikke lige hitte ud af det

Jeg skal lave en multiselect box på en brugerprofil, hvor der er forvalgt de postnumre denne vil have nyheder fra

Jeg trækker først følgende ud fra db

BrugersPostNr = ("1200,1400,1600,1800,2200,2400,2800,3600,4000")

Nu vil jeg så sammenlige med følgende udtræk.

SQL = "SELECT Postnr, Bynavn From AllePostNr"
Set Rs = Conn.Execute(SQL)
If Not Rs.EOF Then
MYResults = Rs.getrows()
Rs.Close
Set Rs = Nothing
Matches = Ubound(MYResults, 2)

For i = 0 To Matches

If et eller andet ????

StrPostNr = StrPostNr & ("<option value=""" & Resultat(0,i) & """ selected>" & Resultat(0,i) & " - " & Resultat(1,i) & "</option>")

Else

StrPostNr = StrPostNr & ("<option value=""" & Resultat(0,i) & """>" & Resultat(0,i) & " - " & Resultat(1,i) & "</option>")

End If

Next
End If


Kan ikke lige få det til at spille

Nogle foreslag??
Avatar billede fennec Nybegynder
29. maj 2008 - 15:29 #1
Hvorfor smidder du det ikke bare i SQL'en så den kun udtrækker de valgte postnumre?? Det er nemlig sådan at databasen har en IN() funktion:
select * from EnTabel where kol1 in(1,4,6,8,9)

Det bliver for dig til:
SQL = "SELECT Postnr, Bynavn From AllePostNr where postnr in("& BrugersPostNr &")"
Avatar billede mille Nybegynder
29. maj 2008 - 15:56 #2
Jo, men du har misforstået.

Jeg skal have alle postnumre ud i min selectbox, men det er kun BrugersPostNr som skal være selected.

Dette er til en profilredigeringsside, som skal vise hvilke postnr jeg har valgt at få nyheder fra.

Med din SQL får jeg kun dem ud som jeg har valgt, og ikke alle sammen..
Avatar billede fennec Nybegynder
29. maj 2008 - 16:22 #3
Ahh ok. Det kan klares på denne måde:

if inStr(","&BrugersPostNr&",", ","&Resultat(0,i)&",") then
  StrPostNr = StrPostNr & ("<option value=""" & Resultat(0,i) & """ selected>" & Resultat(0,i) & " - " & Resultat(1,i) & "</option>")
else
  StrPostNr = StrPostNr & ("<option value=""" & Resultat(0,i) & """>" & Resultat(0,i) & " - " & Resultat(1,i) & "</option>")
end if

Det du gøre er at undersøge om ",2000," findes i ",1000,2000,3000,". Bemærk at der indsættes "," i starten og slutningen. I dette tilfælde er det ikke så vigtigt da det kun er postnumre (som altid er 4 tegn), men forstil dig at du søgte efter "1" i "2,5,10,15". Der ville du få et hit på et-tallet i 10 og 15, men ved at søge efter ",1," virker det.
Avatar billede mille Nybegynder
29. maj 2008 - 16:31 #4
Tja, det virker.

Thankz.
Avatar billede mille Nybegynder
29. maj 2008 - 16:32 #5
giv mig et svar
Avatar billede fennec Nybegynder
29. maj 2008 - 16:40 #6
.o) <-- One Eyed Jack
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