Jag har denna koden och när jag kör den blir det rätt. Men när jag inkluderar filen på en annan sida så blir det inte rätt, då kommer båda posterna.
Det som blir fel är att "if sjudagar >0 then" kommer 2 gånger, alltså den skiter i mitt if
<%
datum = date()
x = 0
sjudagar = 0
do until x = 7
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databasen.mdb")&";"
SQL = "select * from tabell where datum = #" & datum & "# order by ID DESC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
rs.Movenext
Loop
dagensres = totvinst - totinsats
sjudagar = sjudagar + dagensres
if dagensres >0 then
response.write datum &" "&Round(dagensres,2) &"<br>"
else
%>
<% = date()%>: <font color="#FF0000"><% = Round(dagensres,2) %></font><br>
<%
end if
x = x + 1
datum=datum-1
loop
if sjudagar >0 then
response.Write "Senaste 7 dagarna: "&Round(sjudagar,2)
else
%>
Senaste 7 dagarna: <font color="#FF0000"><% = Round(sjudagar,2) %></font><br>
<%
end if
rs.Close
Conn.Close
%>
Vad säger ni om koden? Jag är rätt ny med asp och detta är det första riktiga projektet som jag håller på med, jag gör en spelsida där jag och några polare bokför hur det går för oss när vi spelar på matcher.
Eller rättare sagt, det är ett fel i den, det står <% =date() %> där det borde stå datum istället. Så jag kopierar in den nya koden som jag har uppdaterat lite.
<%
datum = date()
x = 0
sjudagar = 0
do until x = 7
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databas.mdb")&";"
SQL = "select * from tabell where datum = #" & datum & "# order by ID DESC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Du gör ju väldigt mycket i onödan, hantera alla beräkningar i SQL istället.
<%
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("databasen.mdb")&";"
SQL = "select datum , sum(insats),sum(vinst) from tabell where datum > date() -7 group by datum order by datum DESC"
set rs = conn.execute(sql)
sjudagar = 0
do until rs.eof
dagensres = rs(2) - rs(1)
sjudagar = sjudagar + dagensres
response.write rs(0)
if dagensres <= 0 then response.write "<font color='#FF0000'>"
response.write Round(dagensres,2)
if dagensres <= 0 then response.write "</font>"
response.write "<br>"
loop
response.Write "Senaste 7 dagarna: "
if sjudagar <= 0 then response.write "<font color='#FF0000'>"
response.write Round(sjudagars,2)
if sjudagar <= 0 then response.write "</font>"
response.write "<br>"
rs.Close
Conn.Close
%>