/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Array og Loop med JMail ?
Fra : Jakob Munck


Dato : 27-05-02 19:49

Jeg skal udsende e-mails til medlemmer af et community, men der går noget
galt. Jeg selecter først fra én tabel og omdanner dennes indhold til et
Array. Derefter skal jeg bruge de id-numre, der er i en af Arrayets
dimensioner til at udvælge de relevante e-mail adresser fra en anden tabel.

Som koden fungerer nu, sender den kun til én record fra tabellen, selv om
den faktisk skulle udvælge flere. Jeg mangler vist at skrive noget i retning
af

"for i=0 to ubound(arrRecords,2)"

men hvis jeg indsætter denne linie kommer jeg vist til at blande en
for-løkke sammen med et loop, og det kan vist ikke lade sig gøre.

Jeg er temmelig usikker både på Arrays og på forskellen mellem forskellige
former for Loops, så jeg har problemer. Er der nogen der har et godt bud på,
hvad der skal gøres ved koden for at den både sender til de udvalgte e-mails
og bagefter lister dem?

Her er koden:

<%
.......
' her laver jeg et recordset der indeholder alle gruppemedlemmer:
SqlTable = "select * FROM tbGruppemedl WHERE gruppeId = " &
session("gruppeId")
Set RS3 = Conn.Execute(sqlTable)

' her sætter jeg dette recordset ind i et Array:
arrRecords = RS3.getrows()

' her udvælger jeg emailadresser for de id-numre der er i Arrayet:
SQL = "SELECT * from bruger WHERE brugerId = " & arrRecords(2,i)

set RS = conn.execute( SQL )
do while not RS.eof
on error resume next

Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.ServerAddress = "mail.tele.dk"
JMail.Charset = "iso-8859-1"
JMail.ContentTransferEncoding = "8bit"
JMail.Sender = "GruppeLeder@topdating.dk"
JMail.Subject = request("header")
JMail.AddRecipient RS("email")
JMail.Body = request("tekst")
JMail.Priority = 3
JMail.Execute
set JMail = nothing

' her laves en liste over de e-mail adresser der er blevet sendt til:
response.write "<FONT FACE='Arial' SIZE='2' COLOR='#000000'><STRONG>E-mail
er sendt til : "& RS("email") &"</STRONG></FONT><BR>"
RS.movenext
loop
conn.close
......
%>

v.h.
Jakob Munck



 
 
Jakob Andersen (27-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 27-05-02 20:04

"Jakob Munck" <jakob.munck@tdcadsl.dk> wrote in message
news:3cf27ba9$0$70441$edfadb0f@dspool01.news.tele.dk...
> Jeg skal udsende e-mails til medlemmer af et community, men der går noget
> galt. Jeg selecter først fra én tabel og omdanner dennes indhold til et
> Array. Derefter skal jeg bruge de id-numre, der er i en af Arrayets
> dimensioner til at udvælge de relevante e-mail adresser fra en anden
tabel.

Afhængig af din database, jeg mener at huske du bruger Access, kan det
klares med en SQL.

> SqlTable = "select * FROM tbGruppemedl WHERE gruppeId = " &
> SQL = "SELECT * from bruger WHERE brugerId = " & arrRecords(2,i)

Prøv at leg med denne
SELECT
Email
FROM
bruger
WHERE
BrugerId IN
(SELECT
BrugerID
FROM
tblGruppemedl
WHERE
gruppeId = " & intGruppe & ")

--
Jakob Andersen



Jakob Munck (27-05-2002)
Kommentar
Fra : Jakob Munck


Dato : 27-05-02 23:14

Du har bare ret igen. Det virker. Tusind tak !

v.h.
Jakob Munck



Morten (28-05-2002)
Kommentar
Fra : Morten


Dato : 28-05-02 10:28

>JMail.Body = request("tekst")

Må jeg lige understrege at Microsoft på det kraftigste fraråder brugen
af Request alene, medmindre det er abolut nødvendigt og der ikke er
andre udveje. Problemet er, at hvis der ikke er angivet en værdi så
ender den med at lede efter værdier i Request.ServerVariables som er
utrolig processorkrævende.
Brug i stedet Request.Form/QueryString.

- Morten

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste