tja grabbar... Rent spontant så är det ju här felet ligger, och debuggar du så kommer felet att uppenbara sig Ursäkta en Off topic-kommentar... hehe jo visst...huset e ganska lätt...en ny trend.:D..problem med att läsa alla artiklar
har ett litet problem med en av sidorna i min webshop.
Det e så att frakten som ska räknas ihop alltså på alla artiklar i kassan och som
ska visas inte visas på rätt sätt.:S..( hoppas att ni förstod ) så här
tex.
Jag beställer ett hus som väger 30 kg och som ja ska betala frakt på 100 kr
och så beställer jag en bil till den som väger 10 kg som har frakten på 20 kr
och till det så måste jag har en hund som väger 5 kg och som har frakten 5 kr
( i den här ordningen ska de vara i kassan )
så är man i kundvagnen då och trycker på OK
och så går man till kassan där man kör de slutgiltliga stegen.
Där man kan välja ifall man vill hämta varan hos oss ( och då är det inga problem då ingen frakt ska räknas in ) men ifall man väljer Paket ja då ska den visa under
Frakt: 125 kr men där ligger felet den visar ENDAST frakten från den första artikeln i kassan.
Alltså huset och visar då Frakt: 100 kr....ja har gått igenom koden 100 ggr men inte hittat nått fel...här kommer sidan
<code>
<!-- #Include file="dbcon.asp"-->
<% '-----Kollar så att man är inloggad----------------------------
strInlogg = ""& session("kid") &""
If strInlogg = "" Then
Session("From") = "privatkund"
Response.Redirect "login.asp?From=privatkund"
End If
'--------------------------------------------------------------%>
<HTML>
<HEAD>
<link href="stil.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {font-weight: bold}
-->
</style>
</HEAD>
<BODY class="textbox">
<% '--------------------------------------------------------------
Session("medelande") = Request.Form("medelande")
call openConn(objConn)
Dim DB, RecSet, Sessionen, TotSumma, ant, prs, Summa, Visa
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Set RecSet = objConn.Execute("SELECT t1.antal, t1.pris, t1.Besk, t1.AID, t1.namn, p1.vikt FROM temptab t1, produkter p1 WHERE t1.SID = " & KID & " and t1.artnr = p1.id")
IF RecSet.EOF Then
call closeConn(objConn)
Response.Redirect "error.asp?Fel=4"
End IF
ant = RecSet("Antal")
prs = RecSet("Pris")
vikt = RecSet("vikt")
Summa = ant * prs
TempTot = ant * vikt
Visa2 = "SELECT * FROM frakt order by vikt"
RecSet2.Open Visa2, objConn, 3, 3
If not RecSet2.EOF then
Do Until RecSet2.EOF
vikt = RecSet2("vikt")
kroner = RecSet2("kroner")
if TempTot <= vikt then
Totaltot = Totsumma + kroner
exit do
end if
RecSet2.MoveNext
Loop
end if
Recset2.close
set Recset2 = nothing
frakt = kroner
%>
<table width="500" border="1" cellpadding="2" cellspacing="2" bordercolor="#000000">
<tr>
<td width="500">
<font size="2" class="text">Bekräfta följande varor <strong>(Order är bindande):</strong></font>
<table width=500 bordercolor="#000000">
<tr bordercolor="#FFFFFF">
<td width="82%" class="text"><strong>Varonamn
</strong></td>
<td width="7%" class="text"><strong>Antal</strong></td>
<td width="11%" class="text"><strong>Pris</strong></td>
</tr>
<%
Do Until RecSet.EOF
ant = RecSet("Antal")
prs = RecSet("Pris")
Summa = (ant * prs)
%>
<tr bordercolor="#FFFFFF">
<td align="Left" class="text"><%=RecSet("namn")%> </td>
<td align="Left" class="text"><strong><%=RecSet("Antal")%></strong> </td>
<td align="Left" class="text"><%=Summa%> kr</td>
</tr>
<%
TotSumma=(TotSumma + Summa)
RecSet.MoveNext
Loop
recset.close
set recset = NOthing
call closeConn(objConn)
%>
<tr bordercolor="#FFFFFF">
<td align="Left"> </td>
<td align="Left"> </td>
<td align="Left"> </td>
</tr>
<tr bordercolor="#FFFFFF">
<td align="Left" class="text">Meddelandet:
</td>
<td align="Left"> </td>
<td align="Left"> </td>
</tr>
<tr bordercolor="#FFFFFF">
<td align="Left" class="text"><%=Session("medelande") %> </td>
<td align="Left"> </td>
<td align="Left"> </td>
</tr>
</table>
<span class="text"><br>
</span>
<table width="500" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<td bordercolor="#FFFFFF" class="text">Följ stegen nedan för att beställa innehållet
i kundvagnen: </td>
</tr>
<tr>
<td bordercolor="#FFFFFF"><p> <span class="text">
<%
IF Request.Querystring("do") = "frakt" THEN
Session("frakttyp") = Request.Form("frakttyp")
Response.Redirect "?"
END IF
IF Request.Querystring("do") = "betaltyp" THEN
Session("betaltyp") = Request.Form("betaltyp")
Response.Redirect "?"
END IF
IF Request.Querystring("do") = "andraBetaltyp" THEN
Session("betaltyp") = ""
Response.Redirect "?"
END IF
IF Request.Querystring("do") = "andraFrakttyp" THEN
Session("frakttyp") = ""
Response.Redirect "?"
END IF
%>
<br>
Steg 1. Välj ett Fraktsätt:<br>
<%
IF Session("frakttyp") = "hamtas" then%>
<b>Varorna hämtas i butiken på Södraförstag.
65A i Malmö</b><br>
Ändra
<%Session("frakttyp") = "hamtas"%>
<%
frakt = 0
elseif Session("frakttyp") = "paket" then%>
<b>I normalfallet leverans 2:a dagen efter att sändningen
lämnat vårt lager. Skickas med: Posten Postpaket (1
kolli) Posten Företagspaket (vid flera kolli) </b><br>
Ändra
<%Session("frakttyp") = "paket"%>
<%
frakt = frakt
else%>
</span>
<form method="Post" action="?do=frakt">
<span class="text">
<input type="hidden" value="<%=frakt%>" name="frakt"/>
<select name="frakttyp" class="text" onchange="this.form.submit();">
<Option selected>- Välj en frakt-typ som passar dig</Option>
<Option value="hamtas">Hämtas</Option>
<Option value="paket">Paket hem</Option>
</select>
</p>
</span>
</form>
<span class="text">
<%
frakt = 0
end if
%>
</p>
</span></td>
</tr>
<tr>
<td bordercolor="#FFFFFF"><p>
<span class="text">
<%
IF Session("betaltyp") = "kontant" then
frakt = frakt + 0%>
<br>
Steg 2. Betalsätt:<br>
<%Session("Betaltyp") = "kontant"%>
Kontant betalning vid avhämtning <b><br>
Vi accepterar kontanter och de flesta bankkort. <br>
Ingen avgift på <i>kontokort </i>. <br>
Vid betalning med <i>kreditkort </i> eller <i>företagskort </i> tillkommer
2,5% på beloppet. </b><br>
Ändra
<%
elseif Session("betaltyp") = "Forskottsbetalning" then
frakt = frakt + 0%>
<br>
Steg 2. Betalsätt:<br>
<%Session("Betaltyp") = "post"%>
Förskottsbetalning <b><br>
Inbetalning i förskott till vårat post/bankgirokonto</b><br>
Ändra
<%
elseif Session("betaltyp") = "Postforskott" then
frakt = frakt + 80%>
<br>
Steg 2. Betalsätt:<br>
<%Session("Betaltyp") = "post"%>
Postförskott (avgift:80kr)<br>
<b>
Vid betalning på Posten vid uthämtning av paketet tillkommer Postförskottsavgift</b><br>
Ändra
<%else
IF NOT Session("frakttyp") = "" then
frakt = frakt + 0%>
<br>
</span><span class="text"><br>
Steg 2. Betalsätt:</span>
</p>
<form method="post" action="?do=betaltyp">
<p><span class="text">
<select name="betaltyp" class="text" onchange="this.form.submit();">
<Option selected>- Välj ett betalsätt som passar dig</Option>
<%IF Session("frakttyp") = "hamtas" THEN%>
<Option value="kontant">Kontant</Option>
<%END IF%>
<Option value="Forskottsbetalning">Förskottsbetalning</Option>
<%IF Session("frakttyp") = "paket" THEN%>
<Option value="Postforskott">Postförskott</Option>
<%END IF%>
</select>
</span>
</form>
<span class="text">
</p>
<%
END IF
END IF %>
</span>
<form method="post" action="bestall_ok.asp" name="formular">
<span class="text">
<input type="hidden" value="tabort" name="andra">
<input type="hidden" name="medelande" value="<%=Session("medelande")%>">
<input type="hidden" value="<%=Session("betaltyp")%>" name="betaltyp">
<input type="hidden" value="<%=Session("typ")%>" name="frakttyp">
</p>
</span>
<table width="500" bordercolor="#000000">
<tr bordercolor="#FFFFFF">
<th scope="col"><div align="left"> </div></th>
<th scope="col"><div align="right" class="text">Pris (utan
moms):</div></th>
<th scope="col"><div align="left" class="text"><%= FormatCurrency((TotSumma+frakt)*0.8,2) %> </div></th>
</tr>
<tr bordercolor="#FFFFFF">
<th width="6%" scope="col"> </th>
<th width="76%" scope="col"><div align="right" class="text">Pris
(med moms):</div></th>
<th width="18%" scope="col"><div align="left" class="text"><%= FormatCurrency(TotSumma,2)%></div></th>
</tr>
<tr bordercolor="#FFFFFF">
<th scope="col"> </th>
<th scope="col"><div align="right" class="text">Frakt:</div></th>
<th scope="col"><div align="left" class="text"><strong><%=frakt%> kr </strong></div></th>
</tr>
<tr bordercolor="#FFFFFF">
<th scope="col"><div align="left"> </div></th>
<th scope="col"><div align="right" class="text">Totalpris:</div></th>
<th scope="col"><div align="left" class="text"><%= FormatCurrency(TotSumma+frakt,2) %> </div></th>
</tr>
</table>
<div align="center">
<span class="text">
<%
If Request.QueryString("errMsg")= "BetTyp" Then
Response.Write "Du måste välja Fraktsätt/Betaltyp"
End If
%>
</span><br>
<br>
<input name="fraktpris" type="hidden" value="<%=frakt%>">
<input name="fraktsatt" type="hidden" value="<%=session("frakttyp")%>">
<input name="totpris" type="hidden" value="<%=TotSumma%>">
<input name="Order" type="submit" class="text" value="Skicka Ordern">
<span class="text"> </span>
</div>
</form> </td>
</tr>
</table>
<span class="text"><br>
</span>
<div align="center"><span class="style1"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
</font></span></div> </td>
</tr>
</table>
</BODY>
</HTML>
</code>Sv: problem med att läsa alla artiklar
<code>
Set RecSet = objConn.Execute("SELECT t1.antal, t1.pris, t1.Besk, t1.AID, t1.namn, p1.vikt FROM temptab t1, produkter p1 WHERE t1.SID = " & KID & " and t1.artnr = p1.id")
IF RecSet.EOF Then
call closeConn(objConn)
Response.Redirect "error.asp?Fel=4"
End IF
ant = RecSet("Antal")
prs = RecSet("Pris")
vikt = RecSet("vikt")
Summa = ant * prs
TempTot = ant * vikt
Visa2 = "SELECT * FROM frakt order by vikt"
RecSet2.Open Visa2, objConn, 3, 3
If not RecSet2.EOF then
Do Until RecSet2.EOF
vikt = RecSet2("vikt")
kroner = RecSet2("kroner")
if TempTot <= vikt then
Totaltot = Totsumma + kroner
exit do
end if
RecSet2.MoveNext
Loop
end if
Recset2.close
set Recset2 = nothing
</code>
Om jag fattar rätt så läser du ut alla artiklar i varukorgen och försöker sedan loopa igenom vikten för att hitta den vikt som passa för totalvikten av ordern?
Isåfall har du felet här
<code>
ant = RecSet("Antal")
prs = RecSet("Pris")
vikt = RecSet("vikt")
Summa = ant * prs
TempTot = ant * vikt
</code>
Temptot blir vikten av den första artkeln * antalet av första artiklen i recordsetet. Du måste således loopa igen dit första recordset för att få ut vikten.
<code>
Do Until RecSet.EOF
ant = RecSet("Antal")
vikt = RecSet("vikt")
TempTot = TempTot + (ant * vikt )
RecSet2.MoveNext
Loop
</code>Sv: problem med att läsa alla artiklar
<b>Jag beställer ett hus som väger 30 kg och som ja ska betala frakt på 100 kr
och så beställer jag en bil till den som väger 10 kg som har frakten på 20 kr
och till det så måste jag har en hund som väger 5 kg och som har frakten 5 kr</b>
Jisses vilka lätta hus ni säljer... Och bilarna också... :-)Sv: problem med att läsa alla artiklar
har kommit såhär långt..men nu räknare den inte den alls...får bara 0 kr..
<code>
<% '--------------------------------------------------------------
Session("medelande") = Request.Form("medelande")
call openConn(objConn)
Dim DB, RecSet, Sessionen, TotSumma, ant, prs, Summa, Visa
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Set RecSet = objConn.Execute("SELECT t1.antal, t1.pris, t1.Besk, t1.AID, t1.namn, p1.vikt FROM temptab t1, produkter p1 WHERE t1.SID = " & KID & " and t1.artnr = p1.id")
IF RecSet.EOF Then
call closeConn(objConn)
Response.Redirect "error.asp?Fel=4"
End IF
ant = RecSet("Antal")
prs = RecSet("Pris")
vikt = RecSet("vikt")
Summa = ant * prs
TempTot = ant * vikt
Visa2 = "SELECT * FROM frakt order by vikt"
RecSet2.Open Visa2, objConn, 3, 3
If not RecSet2.EOF then
Do Until RecSet2.EOF
ant = RecSet("Antal")
vikt = RecSet("vikt")
TempTot = TempTot + (ant * vikt )
kroner = RecSet2("kroner")
if TempTot <= vikt then
Totaltot = Totsumma + kroner
exit do
end if
RecSet2.MoveNext
Loop
end if
Recset2.close
set Recset2 = nothing
frakt = kroner
%>
</code>