webForumDet fria alternativet

Spara i databasen istället´!

ASP

3 svar · 194 visningar · startad av Thompa__85

Medlem sedan aug. 2002600 inlägg
Frågan#1

Hejsan!
Jag har laddat ner ett script, som skickar resultatet via mail.
Men jag vill istället att den sparar den i databasen.
Så här ser min kod ut: (OBS! Jag har modifierat den lite)

<!--#include file="installningar.asp"-->
<%
Response.Buffer = true

vemsid = Session("id")
info = Array(vemsid)
info2 = ""
For i = 0 to 8
info2 = info2 & info(i)
IF Not i = 8 then 
info2 = info2 & "|"
END IF
Next
For i = 0 to 7
IF NOT len(info(i)) <> 0 then
Session("webshopfel") = "Du glömde att fylla i något fält"
session("falt") = info2
Response.Redirect Request.ServerVariables("HTTP_REFERER")
END IF
Next

IF len(info(2)) > 5 then
Session("webshopfel") = "Felaktigt postnummer"
Session("falt") = info2
Response.Redirect Request.ServerVariables("HTTP_REFERER")
END IF

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("webshop.mdb")
Session.Lcid = 1053

varde = Request.Cookies(""& Session.SessionID &"")
hamta = Split(varde,"&")
ReDim MyArray(4,Ubound(hamta))
for x = 0 to ubound(hamta)
hamta2 = Split(hamta(x),"=")
IF Len(hamta2(0)) > 0 AND len(hamta2(1)) > 0 then
SQL = "SELECT * FROM produkter WHERE id =" & int(hamta2(0))
Set RecSet = Connect.Execute(SQL)
MyArray(0,x) = hamta2(0)
MyArray(1,x) = hamta2(1)
MyArray(2,x) = RecSet("artnr")
MyArray(3,x) = RecSet("namn")
MyArray(4,x) = RecSet("pris")

RecSet.Close
Set RecSet = nothing
END IF
next
Set jmail = Server.CreateObject("JMail.Message")
 
jmail.AddRecipient ""& eposten &"", ""& eposten &""
jmail.From = "" & info(7) & ""
jmail.Subject = "Beställning"
jmail.appendHTML "<font face=verdana size=1>"
For i = 0 To Ubound(myArray,2)
IF Len(MyArray(0,i)) > 0 then
jmail.appendHTML "<b>Art.nr: </b>" & MyArray(2,i) & "<br>"
jmail.AppendHTML "<b>Produkt: </b>" & MyArray(3,i) & "<br>"
jmail.AppendHTML "<b>Antal: </b>" & MyArray(1,i) & "<br>"
jmail.AppendHTML "-------------------------------------------<br>"
IF i = Ubound(myArray,2) then
jmail.AppendHTML "&nbsp;<br>"
END IF
END IF
Next
jmail.appendHTML "<b>Namn: </b>" & info(0) & "<br>"
jmail.appendHTML "<b>Adress: </b>" & info(1) & "<br>"
jmail.appendHTML "<b>Postnr: </b>" & info(2) & info(3) & "<br>"
jmail.appendHTML "<b>Postadress: </b>" & info(4) & "<br>"
jmail.appendHTML "<b>Telefonnummer: </b>" & info(5) & "-" & info(6) & "<br>"
jmail.appendHTML "<b>E-post: </b>" & info(7) & "<br>"
jmail.appendHTML "<b>Övrigt: </b>" & info(8) & "<br>"
jmail.appendHTML "<b>Skickat: </b>" & Now() & "<br>"
jmail.appendHTML "</font>"
jmail.Send(mailserver)

For Each nyckel in Request.Cookies(Session.SessionID)
Response.Cookies(Session.SessionID)(nyckel) = ""
Next
sida = Request.ServerVariables("HTTP_REFERER") & "&skickad=ja"
Response.Redirect sida
%>

Det jag vill, är att den sparar vemsid, antal, artikel nummer och vara i en tabell vid namn: vem i databasen: webshop.mdb

Hur tusan gör jag? För mig är detta grekiska :/ Vore jätte tacksam om någon kunde hjälpa mig på traven :)

Mvh Adde

Medlem sedan aug. 2002600 inlägg
#2

Någon som vet?

Medlem sedan nov. 20017 144 inlägg
#3

Ja, detta är ju igentligen å ena sidan en baggis och andra något som kan bli väldigt komplicerat, beroende på att: Om låt säga Nisse Andersson köper en sak en gång, så vill man kanske inte ur ett databasperspektiv lagra Nisse Anderssons adress och telefonnummer mm. varje gång han beställer något. Utan då kommer "främmande nycklar" in i leken. Alltså relationer i från personer till produkter och produkter till återförsäljare återförsäljare till osv...
Sök på det och leta runt lite på wf.

Vill du rakt upp och ned spara ner det i en databastabell så går det ju såklart. En principskiss; det som du skall byta ut i detta fall är då denna del:

Set jmail = Server.CreateObject("JMail.Message")
 
'En massa kod

jmail.Send(mailserver)

Det du då får göra är att ta det som du vill ha av detta och skapa kolumner för det i en databastabell då helt enkelt.
Som princip:

connect.execute"INTO inkopare (namn,adress,postnr) values('"& info(0) &"','"& info(1) &"',"& info(3) &"))",,128
Medlem sedan aug. 2002600 inlägg
#4

men jag vill ha bort jmail delen, å enbart spara vemsid, artikelnummer, vara och antal.

Vill ta bort det där med Jmail, så att Bara det jag skrev nyss sparas i databasen.

247 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)