Avatar billede pelskee Nybegynder
15. december 2003 - 12:57 Der er 2 kommentarer og
1 løsning

Jmail repeat indhold fra recordset

jeg har et script som skal sende en ordrebekræftelse, men jeg kan ikke få den til at lave en repeat på produkterne.

her er koden:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/scandlines.asp" -->
<%
Dim rsIndkoebskurv__MMColParam
rsIndkoebskurv__MMColParam = Session.SessionID
%>
<%
Dim rsIndkoebskurv
Dim rsIndkoebskurv_numRows

Set rsIndkoebskurv = Server.CreateObject("ADODB.Recordset")
rsIndkoebskurv.ActiveConnection = MM_scandlines_STRING
rsIndkoebskurv.Source = "SELECT Overskrift, Land, Pris_DKK, SUM(Antal) AS VinAntal  FROM Indkoebskurv, Vin  WHERE SessionID = " + Replace(rsIndkoebskurv__MMColParam, "'", "''") + " AND VinID = IDvin    GROUP BY Overskrift  ORDER BY Overskrift ASC"
rsIndkoebskurv.CursorType = 0
rsIndkoebskurv.CursorLocation = 2
rsIndkoebskurv.LockType = 1
rsIndkoebskurv.Open()

rsIndkoebskurv_numRows = 0
%>
<%
Dim rsKunde__MMColParam
rsKunde__MMColParam = Session.SessionID
%>
<%
Dim rsKunde
Dim rsKunde_numRows

Set rsKunde = Server.CreateObject("ADODB.Recordset")
rsKunde.ActiveConnection = MM_scandlines_STRING
rsKunde.Source = "SELECT * FROM Kunder WHERE LastSession = " + Replace(rsKunde__MMColParam, "'", "''") + ""
rsKunde.CursorType = 0
rsKunde.CursorLocation = 2
rsKunde.LockType = 1
rsKunde.Open()

rsKunde_numRows = 0
%>
<%
Dim rsTotal
Dim rsTotal_numRows

Set rsTotal = Server.CreateObject("ADODB.Recordset")
rsTotal.ActiveConnection = MM_scandlines_STRING
rsTotal.Source = "SELECT SUM(Pris_DKK) AS Total  FROM Indkoebskurv, Vin  WHERE SessionID = "+ Session.SessionID + " AND VinID = IDvin"
rsTotal.CursorType = 0
rsTotal.CursorLocation = 2
rsTotal.LockType = 1
rsTotal.Open()

rsTotal_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rsIndkoebskurv_numRows = rsIndkoebskurv_numRows + Repeat1__numRows
%>
<%
    Set JMail                 = Server.CreateObject("JMail.SMTPMail")
    JMail.ContentType        = "text/html"
    JMail.ServerAddress        = "websmtp.border-wines.dk"
    JMail.AddRecipient        rsKunde.Fields.Item("Email").Value
    JMail.Sender            = "Border-Wines"
    JMail.Subject            = "Bekræftelse på forudbestilling"
   
JMail.Body = "<font size='2' face='Verdana'>" &_
"<img src=""http://www.border-wines.dk/images/orderconfirmation.jpg"">" &_
"<br>" &_
"<br>" &_
"Hej " &_
rsKunde.Fields.Item("Navn").Value &_
"<br>" &_
"<br>" &_
"Vi har nu registreret din forudbestilling. Den ligger pakket og klar til afhentning maks 48 timer efter afgivelsen af ordren." &_
"<br>" &_
"Dine varer vil ligge klar 5 dage efter ordreafgivelsen. Herefter inddrages varene og din ordre slettes." &_
"<br>" &_
"<br>" &_
"<STRONG>KUNDEOPLYSNINGER</STRONG>" &_
"<br>" &_
rsKunde.Fields.Item("Navn").Value &_
"<br>" &_
rsKunde.Fields.Item("Adresse").Value &_
"<br>" &_
rsKunde.Fields.Item("Postnummer").Value &_
" " &_
rsKunde.Fields.Item("Bynavn").Value &_
"<br>" &_
rsKunde.Fields.Item("Land").Value &_
"<br>" &_
"<br>" &_
"<STRONG>FORUDBESTILLING</STRONG>" &_
"<br>" &_
rsIndkoebskurv.Fields.Item("Overskrift").Value &_
" (" &_
rsIndkoebskurv.Fields.Item("Land").Value &_
") " &_
" Antal: " &_
rsIndkoebskurv.Fields.Item("VinAntal").Value &_
" Pris: " &_
FormatNumber((rsIndkoebskurv.Fields.Item("Pris_DKK").Value),2) &_
"<br>" &_
"Total " &_
FormatNumber((rsTotal.Fields.Item("Total").Value),2) &_
"<br>" &_
"</font>"

    JMail.Priority = 3
    JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
    JMail.Execute
    Response.Redirect "test.asp"
%>
<%
rsIndkoebskurv.Close()
Set rsIndkoebskurv = Nothing
%>
<%
rsKunde.Close()
Set rsKunde = Nothing
%>
<%
rsTotal.Close()
Set rsTotal = Nothing
%>


det er denne del af koden der skal repeates:
rsIndkoebskurv.Fields.Item("Overskrift").Value &_
" (" &_
rsIndkoebskurv.Fields.Item("Land").Value &_
") " &_
" Antal: " &_
rsIndkoebskurv.Fields.Item("VinAntal").Value &_
" Pris: " &_
FormatNumber((rsIndkoebskurv.Fields.Item("Pris_DKK").Value),2) &_
"<br>" &_
Avatar billede eagleeye Praktikant
16. december 2003 - 23:40 #1
Prøv at dele den lange body op sådan det bliver:

JMail.Body = "<font size='2' face='Verdana'>" &_

....ALT DET SOM DER ER IDAG NED TIL OG MED...

rsKunde.Fields.Item("Land").Value &_
"<br>" &_
"<br>" &_
"<STRONG>FORUDBESTILLING</STRONG>" & _
"<br>"
body = ""
do while not rsIndkoebskurv.EOF
  body = body & rsIndkoebskurv.Fields.Item("Overskrift").Value
  body = body & " (" & rsIndkoebskurv.Fields.Item("Land").Value & ")<br> "
  body = body & " Antal: " & rsIndkoebskurv.Fields.Item("VinAntal").Value & "<br>"
  body = body & "Pris: " & FormatNumber((rsIndkoebskurv.Fields.Item("Pris_DKK").Value),2) & "<br>"
  rsIndkoebskurv.Movenext
loop
body = body & "Total " & FormatNumber((rsTotal.Fields.Item("Total").Value),2) & "<br>"
body = body & "</font>"

JMail.Body = JMail.Body & body
Avatar billede pelskee Nybegynder
17. december 2003 - 14:01 #2
meget sindsygt du er så sej Eagle - det virker
det var virkeligt lidt kode der var brug for :)
tusinde tak!
Avatar billede pelskee Nybegynder
17. december 2003 - 14:12 #3
hvis du får tid og lyst Eagle - er du velkommen til at kigge på: http://www.eksperten.dk/spm/440105 :)
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