webForumDet fria alternativet

Multiple Size

9 svar · 353 visningar · startad av PlayerOne

PlayerOneMedlem sedan maj 200062 inlägg
#1

Jag använder mig av en dropdown-meny för att man ska kunna välja vilka poster som ska visas ur en databas. Selectsatsen är:

Visa = "SELECT * FROM Events WHERE KatId = " & "'" & Request("KatId") & "'"

Nu skulle jag vilja lägga till att man kan markera flera val i dropdown-menyn genom 'multiple size'. Hur löser jag det sedan i aspkoden? Det skulle alltså vara nåt liknande:

Visa = "SELECT * FROM Events WHERE KatId = " & "'" & Request("KatId") & "'" OR ...

Har jag kvar den första syntaxen går det bra så länge man endast väljer ett KatId i menyn. Väljer man flera bakas det ihop så att SQLsatsen blir:

Visa = "SELECT * FROM Events WHERE KatId = 'Kategori1, Kategori2'

osv.

Hur löser jag detta? Blir det lättare om jag använder mig av checkboxar?

VideMedlem sedan dec. 19996 094 inlägg
#2

Du får på nått vis skapa SQL-satsen dynamiskt utifrån antalet förkryssade element... Då spelar det ingen roll om du använder checkboxar eller Select-satser...

[Redigerat av Vide den 26 jun 2000]

emissionMedlem sedan dec. 19996 095 inlägg
#3

Visa = "SELECT * FROM Events WHERE KatId IN ('Kategori1, Kategori2')

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

PlayerOneMedlem sedan maj 200062 inlägg
#4

Vad betyder IN? Kan du inte förklara lite mer ingående?

emissionMedlem sedan dec. 19996 095 inlägg
#5

...där KatID finns i (IN) den kommaseparerade listan som följer.

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

PlayerOneMedlem sedan maj 200062 inlägg
#6

Ok
Hur ska jag då byta ut min nuvarande sqlsats?:

Visa = "SELECT * FROM Events WHERE KatId = " & "'" & Request("KatId") & "'"

Typ:

Visa = "SELECT * FROM Events WHERE KatId IN ("'" & Request("KatId") & "'")

Strängen som skickas blir
default.asp?KatId=Ekonomi&KatId=Marknad

Jag får inte ihop det riktigt

emissionMedlem sedan dec. 19996 095 inlägg
#7
KatIDs=request.querystring("KatID")(1)
for i=2 to request.querystring("KatID").count
   KatIDs=KatIDs & "," & request.querystring("KatID")(i)
next

Visa = "SELECT * FROM Events WHERE KatId IN (" & KatIDs & ")"

Inga fnuttar i IN-satsen, eftersom det är en integer.

PlayerOneMedlem sedan maj 200062 inlägg
#8

Det funkar nästan, men jag skulle behöva konvertera KatId till en sträng eftersom det är av datatyp text i databasen. Som jag har gjort innan med hjälp av ' '

Visa = "SELECT * FROM Events WHERE KatId = " & "'" & Request("KatId") & "'"

Annars får jag följande felmeddelande:
Invalid column name 'Ekonomi'
,där Ekonomi är ett av lternativen i dropdown-menyn.

Var ska jag sätta ''??

emissionMedlem sedan dec. 19996 095 inlägg
#9
KatIDs=request.querystring("KatID")(1)
for i=2 to request.querystring("KatID").count
   KatIDs=KatIDs & "','" & request.querystring("KatID")(i)
next
Visa = "SELECT * FROM Events WHERE KatId IN ('" & KatIDs & "')"

------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB

[Redigerat av emission den 26 jun 2000]

PlayerOneMedlem sedan maj 200062 inlägg
#10

Tack för hjälpen!!

Genererad på 374 ms · cache AV · v20260730165559-full.f96bc7eb