PlayerOneMedlem sedan maj 200062 inlägg
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
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
Visa = "SELECT * FROM Events WHERE KatId IN ('Kategori1, Kategori2')
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
PlayerOneMedlem sedan maj 200062 inlägg
Vad betyder IN? Kan du inte förklara lite mer ingående?
emissionMedlem sedan dec. 19996 095 inlägg
...där KatID finns i (IN) den kommaseparerade listan som följer.
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
PlayerOneMedlem sedan maj 200062 inlägg
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
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
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
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