Avatar billede pelskee Nybegynder
09. december 2003 - 10:16 Der er 11 kommentarer og
2 løsninger

JMail script - kan man lave en repeat region ?

jeg har lavet et script der skal sende en mail til kunden når han har lavet en ordre. jeg kan ikke få den til at vise alle produkterne, den viser bare det første produkt. hvordan får jeg sendt mailen afsted med alle produkterne ?

dette er min kode:
<%@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
%>
<%
    Set JMail                 = Server.CreateObject("JMail.SMTPMail")
    JMail.ContentType        = "text/html"
    JMail.ServerAddress        = "websmtp.border-wines.dk"
    JMail.AddRecipient        "michael@because.dk"
    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
%>
Avatar billede mccannon Nybegynder
09. december 2003 - 13:18 #1
du skal vel løbe din indkøbskurv igennem en løkke

do until RS.EOF

'viskurvindhold
Rs.movenext
Loop
Avatar billede pelskee Nybegynder
09. december 2003 - 13:25 #2
prøv og lure på denne kode... jeg kan ikke få det til at virke:

<%@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        "michael@because.dk"
    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>" &_
<%
While ((Repeat1__numRows <> 0) AND (NOT rsIndkoebskurv.EOF))
%>
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>" &_
<%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  rsIndkoebskurv.MoveNext()
Wend
%>
"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
%>
Avatar billede mccannon Nybegynder
09. december 2003 - 13:41 #3
(Repeat1__numRows <> 0) <-- hvis du kobler det her fra..køre den så ?
Avatar billede pelskee Nybegynder
09. december 2003 - 13:49 #4
jeg kan vel ikke tage den helt væk - så mangler den vel noget kode...
det er ligesom syntaksen eller noget er forkert for det jeg skriver ved koden:
<%
While ((Repeat1__numRows <> 0) AND (NOT rsIndkoebskurv.EOF))
%>
for den genkender det ikke ordentligt i min editor - dvs farverne ser ikke rigtige ud
Avatar billede mccannon Nybegynder
09. december 2003 - 13:54 #5
heh hvis der er syntaks fejl skla du nok få det afvide via browseren :)
Avatar billede mccannon Nybegynder
09. december 2003 - 13:56 #6
hmm udover jeg ikke lige kan se hvad det Repeat1__numRows <> 0 bruges til
tror jeg faktisk kun den henter en ting ud af db'en

1 .: vinid .. hvad er det
2.: jeg tror faktisk at det group by laver ged i det
Avatar billede pelskee Nybegynder
09. december 2003 - 13:59 #7
okay

1. VinID er id nummeret på mit produkt
2. jeg er ved nødt til at samle tingene så jeg kan vise VinAntal - dvs det samlede antal af en vare - hvis brugeren køber mere end 1 stk
Avatar billede mccannon Nybegynder
09. december 2003 - 14:03 #8
prøv lige at fjerne det group by..enten er  jeg blind og kan ikke se evt andre fejl eller så er det "fejlen"
Avatar billede mccannon Nybegynder
09. december 2003 - 14:03 #9
hov vent
Avatar billede mccannon Nybegynder
09. december 2003 - 14:05 #10
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"

hvis du vil vise alt hvad kunden har købt, så kan du jo ikke sige til databasen at du kun vil se hvad kunden har høbt med det bestemte id
Avatar billede pelskee Nybegynder
09. december 2003 - 15:13 #11
det gør jeg vist heller ikke. jeg henter de kolonner fra min produkt (Vin) tabel og min Indkøbskurv tabel som jeg skal bruge.

i min Indkøbskurv tabel lagrer jeg den gældende Session, ID for det produkt brugeren ligger i kurven og Antallet af den pågældende vare.

når jeg så skal vise indholdet i kurven kobler jeg Indkøbskurv tabellen sammen med produkt tabellen så jeg kan vise Tekst til produktet (Overskrift, Land, Pris_DKK osv)
Avatar billede pelskee Nybegynder
11. december 2003 - 09:14 #12
u there...
Avatar billede pelskee Nybegynder
15. december 2003 - 12:43 #13
tak for hjælpen indtil videre
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