Avatar billede hehlers Nybegynder
18. juni 2004 - 09:18 Der er 9 kommentarer og
1 løsning

Kategorier i nyhedsmail

Hejsa

Jeg har et nyhedsmailmodul, hvor der skal sendes mails til en række tilmeldte som ligger i en access DB.
De tilmeldte har angivet nogle interesseområder ( 5 forskellige ), som de kunne tænke sig at få nyheder omkring.

Når man afsender en nyhedsmail skal man jo så sende mailen og sætte kryds ( udfra de 5 forskellige interesseområder folk nu har valgt ) hvem mailen skal sendes til.

Der mangler jeg en lille funktion som gør at den kun sender til de folk som man nu har sat kryds ved.

Lige nu sender den bare til:
select email from nyhedsbrev.

Jeg har 5 checkboxe, hvor man krydser af hvem der skal sendes til.

Håber i forstår hvad jeg mener, ellers må i lige sige til.

På forhånd mange tak :)
Avatar billede ponyboye Nybegynder
18. juni 2004 - 09:51 #1
hvad hedder dine felter i database og hvordan er de opsat?
Avatar billede ponyboye Nybegynder
18. juni 2004 - 09:55 #2
Hvis du laver det sådanne at den sender et navnt på den box der er afkryset til databasen, så kan du vælge at afsende mails til dem der har navnet "Computer" ved at bruge:

strSQL = "Select * From nyheder Where valg = 'computer'"
Avatar billede hehlers Nybegynder
18. juni 2004 - 10:00 #3
Mine fem felter hedder i databasen
int_su
int_lilleput
int_drenge
int_junior
int_ynglinge

Når man så skal afsende en ny mail, så krydses af hvem der skal sendes til udfra hvad de forskellige brugere har tilkendegivet som interesseområder da de tilmeldte dig.

De checkboxe man krydser af inden afsendelse hedder:
su
lilleput
drenge
junior
ynglinge
Avatar billede ponyboye Nybegynder
18. juni 2004 - 10:42 #4
<% DIM int_su, int_lilleput
if not isEmpty(request.form("int_su")) then !!"din mail funktion!!"
  else
  int_su = "OFF"
  response.write("Brugeren har ikke valgt su!<br>")
end if

if not isEmpty(request.form("int_lilleput")) then !!"din mail funktion!!"
  else
  int_lilleput = "OFF"
  response.write("Bruger har ikke valgt lilleput!<br>")
end if

%>

Dette er bare et forslag og jeg er ikke sikker på det virker, men du kan prøve.

Du kan forsætte med at indsætte felter ved at gengive koden og indsætte

, int_drenge, int_junior, int_ynglinge

i toppen lige efter <% DIM int_su, int_lilleput
Avatar billede hehlers Nybegynder
18. juni 2004 - 10:47 #5
Okey, - nu begynder det at ligne noget...

Når der skal sendes mails skal den jo kigge i databasen og selecte derudfra. Man kan jo eks. godt krydse to felter af...

Er det eks. noget i denne retning så:

if not isEmpty(request.form("int_su")) then !!"select email from nyhedsbrev where int_su = true"
  else
  int_su = "OFF"
end if

?????????????????

Hvordan ser det så ud hvis jeg har fem kategorier?, så skal jeg vel lave 5 forskellige recordset?
Avatar billede ponyboye Nybegynder
18. juni 2004 - 10:53 #6
sådanne i denne retning

if not isEmpty(request.form("int_su")) then "select email from nyhedsbrev where int_su = "true"
  else
  int_su = "false"
end if
Avatar billede lkekspert Nybegynder
18. juni 2004 - 12:03 #7
Dine databasefelter er af typen integer, derfor er det ikke en god ide at sætte int_su = "true".
Du kan f.eks. bestemme at værdien 1 er lig med at bruger han vist interesse for området og 0 er ingen interesse, og så:
"select email from nyhedsbrev where int_su = 1" for interesse og
"select email form nyhedsbrev where int_su = 0" for ikke interesse
Avatar billede lkekspert Nybegynder
18. juni 2004 - 12:03 #8
Dine databasefelter er af typen integer, derfor er det ikke en god ide at sætte int_su = "true".
Du kan f.eks. bestemme at værdien 1 er lig med at bruger han vist interesse for området og 0 er ingen interesse, og så:
"select email from nyhedsbrev where int_su = 1" for interesse og
"select email form nyhedsbrev where int_su = 0" for ikke interesse
Avatar billede hehlers Nybegynder
18. juni 2004 - 12:31 #9
tak for hjælpen ponyboy, fandet dog en lidt anderledes metode.

Query = "SELECT email FROM nyhedsbrev where 1 = 2"

if request.form("su") = "ON" then
  Query = Query +" or int_su = true"

end if 
if request.form("lilleput") = "ON" then
  Query = Query +" or int_lilleput = true"

end if 
if request.form("drenge") = "ON" then
  Query = Query +" or int_drenge= true"

end if 
if request.form("junior") = "ON" then
  Query = Query +" or int_junior= true"

end if
if request.form("ynglinge") = "checked" then
  Query = Query +" or int_ynglinge= true"

end if

Set RS = DBConn.Execute(Query)

Men tak for hjælpen anyway. :)
Avatar billede ponyboye Nybegynder
18. juni 2004 - 13:04 #10
det var så lidt, skulle det være en anden gang
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