08. marts 2004 - 12:14Der er
21 kommentarer og 1 løsning
Beretning af forsendelse ved vægt
Hej Eksperter. Jeg har et problem her, jeg ved ikke rigtigt hvordan jeg griber det an.
Jeg vil gerne beregne forsendelsespris på baggrund af vægt i en shop. Så jeg skal først regne vægten sammen. Den samlede vægt sammenlignes så med data fra en tabel i Access. f.eks:
vare 1 vejer 0,5 kg. vare 2 vejer 0,9 kg = 1,4 kg i min database har jeg forskellige intervaller f.eks. 0 - 0,9 og 1,0 - 3,5 kg.
vægten er så 1,4 og forsendelse 1,0 - 3,5 kg = 10,25 kr. i forsendelse.
jeg har en tabel der hedder vare og et felt der hedder varevægt jeg har en tabel der hedder forsendelse med felterne forsendelsespris og vægt
forsendelse_numRows = 0 %> <% Dim Repeat1__numRows Dim Repeat1__index
Repeat1__numRows = -1 Repeat1__index = 0 kategorier_numRows = kategorier_numRows + Repeat1__numRows %> <% ' 'Add shipping from a value in a recordset 'The recordset may be pre-filtered based on the CCcart_SubTotal value ' if not forsendelse.eof then CCcart_Shipping=forsendelse("forsendelsespris") end if %>
Den henter godt nok en forsendelsepris men det er den første i tabellen, jeg vil gerne have den henter den post der svarer til den samlede vægt for alle valgte varer. Jeg tror den er lidt tricky, smider gerne flere points eller guld til den der kan hjælpe mig med at lave det (snart deadline)
Jeg skal lige være helt sikker på dit format i din tabel med "forsendelsespris". Hvilket format er "vægt" på. Er det en tekst: "0 - 0,9 kg." eller gemmer du bare et tal????
decimal. VægtPåPakken beregner du ud fra de vare der er købt. Noget i denne retning:
VaegtPaaPakken = 0 set rs = conn.execute("select alle købte vare id'er fra IndkøbsKurven....") do while not rs.eof set rs1 = conn.execute("select vægt from ...... where id="&rs("id")) VaegtPaaPakken = VaegtPaaPakken + rs1("vægt") rs.movenext loop
du skal bare have lavet løkken om (do while løkken) så den passer til din cookie. Nu ved jeg ikke hvordan/hvilke data du gemmer i cookien, men du skal bare løbe cookien igennem også finde vægten pr. vare. Du har sikket en løkke et andet sted, hvor du gemmer dataerne fra cookien til databasen. Du kan bruge den samme løkke her....
<% CONST CC_ProductID = 0 CONST CC_Quantity = 1 CONST CC_Name = 2 CONST CC_Price = 3 CONST CC_UniqueKey = 4 if Request.Cookies("CharonCart") = "" then dim CCcart(5,50) else CCcart=CookieToCart("CharonCart") end if
CCcart_SubTotal=0 CCcart_numItems=0 CCcart_Shipping=0 CCcart_Discount=0 CCcart_SalesTax=0 isFound=false for i=0 to ubound(CCcart,2) if CCcart(CC_ProductID,i) <> "" then isFound=true CCcart_SubTotal=CCcart_SubTotal + (CCcart(CC_Quantity,i)*CCcart(CC_Price,i)) CCcart_numItems=CCcart_numItems + 1 end if next function CCcart_LineTotal CCcart_LineTotal=CCcart(CC_Quantity,i)*CCcart(CC_Price,i) end function function CCcart_GrandTotal CCcart_GrandTotal=CCcart_SubTotal + CCcart_Shipping + CCcart_SalesTax - CCcart_Discount end function
function CartToCookie(thearray,cookiename) on error resume next mystring="" for j=0 to ubound(CCcart,2) if CCcart(CC_ProductID,j) <> "" then for i=0 to 5 mystring=mystring & CCcart(i,j) & "^" next mystring=left(mystring,len(mystring)-1) mystring=mystring & "|" end if next mystring=left(mystring,len(mystring)-1) Response.Cookies(cookiename)=mystring end function
function CookieToCart(cookiename) dim myarray(5,50) mystring=Request.Cookies(cookiename) productarray=split(mystring,"|") for j=0 to ubound(productarray) itemarray=split(productarray(j),"^") for i=0 to 5 if itemarray(i) <> "" then myarray(i,j)=itemarray(i) else myarray(i,j)=null end if next next CookieToCart=myarray end function
<% VaegtPaaPakken = 0 for i=0 to ubound(CCcart,2) if CCcart(CC_ProductID,i) <> "" then set rs = conn.execute("select vægt from vare where id="& CCcart(CC_ProductID,i)) VaegtPaaPakken = VaegtPaaPakken + (rs("vægt") * CCcart(CC_Quantity,i)) end if next %>
Men hvis jeg kun vælger 1 vare der vejer 1,0 eller under så får jeg ingen forsendelspris, vælger jeg 2 varer på f.eks. 2,0 tilsammen så får jeg det rigtige.
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.