21. juli 2004 - 14:54Der er
5 kommentarer og 1 løsning
Sortering af input
Jeg er ved at lave et nyhedsbrev, hvor man har mulighed for at sortere hvem der skal modtage det:
Der er følgende sorterings variabler (formfelter): - Region - Postnr - sex - Usertype
Men hvordan laver jeg en dynamisk SQL sætning således den kan sortere på alle inputene?
Jeg har forsøgt med følgende, men det er vist noget være rod:
<% call opendb
if Request.Form("region") <> "" AND Request.Form("region") <> "alle" then Region = Request.Form("region") strRegion = "region = "&Region&"" end if if Request.Form("sex") <> "" AND Request.Form("region") <> "alle" then Sex = Request.Form("sex") strSex = "AND sex = "&Sex&"" else strSex = "" end if
region = Request.Form("region") sex = Request.Form("sex") post_nr = Request.Form("postnr") call opentbl("SELECT * FROM login WHERE "&strRegion&" "&strSex&"", rs) if not rs.eof then do while not rs.eof strEmail = rs("email") response.write "" & strEmail & " - Afsendt korrekt<br>" rs.MoveNext Loop else Response.write("Der ingen brugere i den valgte kategori") end if
response.write "<br><br><b>Alle beskeder blev afsendt korrekt.</b>"
call closetbl(rs) %>
Er der en der kan give et kode eksempel på det?
Alle input felterne har en standard værdi der hedder alle, og i dette tilfælde skulle den jo gerne vælge f.eks. alle postnr osv.
if Request.Form("region") <> "" AND Request.Form("region") <> "alle" then Region = Request.Form("region") strRegion = "region = " & Region else strRegion = "1=1" end if
if Request.Form("sex") <> "" AND Request.Form("region") <> "alle" then Sex = Request.Form("sex") strSex = " AND sex = " & Sex else strSex = "" end if
region = Request.Form("region") sex = Request.Form("sex") post_nr = Request.Form("postnr")
call opentbl("SELECT * FROM login WHERE " & strRegion & strSex, rs)
if not rs.eof then do while not rs.eof strEmail = rs("email") response.write "" & strEmail & " - Afsendt korrekt<br>" rs.MoveNext Loop else Response.write("Der ingen brugere i den valgte kategori") end if
response.write "<br><br><b>Alle beskeder blev afsendt korrekt.</b>"
Det fungere ikke der hvor der er tale om tabeller med andre input end tal. Hvad skal der stå:
De her fungere ikke: - Sex - Status - Post_nr
<% call opendb
if Request.Form("region") <> "" AND Request.Form("region") <> "alle" then Region = Request.Form("region") strRegion = " AND region = " & Region else strRegion = "" end if
if Request.Form("sex") <> "" AND Request.Form("sex") <> "alle" then Sex = Request.Form("sex") strSex = " AND sex = " & Sex else strSex = "" end if
if Request.Form("post_nr") <> "" AND Request.Form("post_nr") <> "alle" then post_nr = Request.Form("post_nr") strpost_nr = " AND post_nr = " & post_nr else post_nr = "" end if
if Request.Form("usertype") <> "" AND Request.Form("usertype") <> "alle" then usertype = Request.Form("usertype") strusertype = " AND usertype = " & usertype else usertype = "" end if
if Request.Form("status") <> "" AND Request.Form("status") <> "alle" then statu = Request.Form("status") strstatu = " AND statu = " & statu else statu = "" end if
call opentbl("SELECT * FROM login WHERE Email <> '""'" & strRegion & strSex & strPost_nr & strUsertype & strstatu, rs)
if not rs.eof then do while not rs.eof strEmail = rs("email") response.write "" & strEmail & " - Afsendt korrekt<br>" rs.MoveNext Loop response.write ""&strSex&"<br>" response.write ""&strregion&"" response.write "<br><br><b>Alle beskeder blev afsendt korrekt.</b>" else Response.write("Der ingen brugere i den valgte kategori") end if call closetbl(rs)
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.