webForumDet fria alternativet

ASP/MySQL, hjälp med presentation

ASP

1 svar · 898 visningar · startad av oskars

Medlem sedan nov. 20051 317 inlägg
Frågan#1

Hej!

Jag försöker göra följande presentation från en MySQL-databas:

* Antal sålda ordrar per månad
* Totalt värde på alla ordrar per månad

I tabellen "Kunder" är varje kund knuten till en kundvagn och det värdet finns i just kolumnen "Kundvagn".

I tabellen är kundvagns ID:et sparat i "customer_id".

Så om ordern i tabellen Kunder har "Status IN(1,2,3,4,6,7,10)" så ska kundvagnsraderna i "Kundvagn" räknas in i den månadens stapel.

Jag antalet ordrar är korrekt, men det verkar som att totala ordervärdet inte räknas korrekt. Kan ni se något jag gjort fel?

tacksam för hjälp!

/ O

<%
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	SQL = "Select COUNT(*), Orderdatum FROM Kunder WHERE Status IN(1,2,3,4,6,7,10) GROUP BY Year(Orderdatum), Month(Orderdatum) ORDER BY Orderdatum ASC"
	RecSet.Open SQL, Connect, 1, 2

	myt = 0

	Do Until RecSet.EOF

		myh = CInt(RecSet(0)) * 2

		mym = Month(RecSet("Orderdatum"))
		myy = Year(Recset("Orderdatum"))

		myp = 0
		
		my_datum = myy & "-" & mym
		
		If Len(mym) = 1 Then
			my_datum = myy & "-0" & mym
		End If
		
		
		Set RecSet2 = Server.CreateObject("ADODB.Recordset")
		SQL = "Select SUM((Antal*Price)) as my_pengar FROM Kundvagn WHERE " & _
		
		"Status <> 5 AND Left(Added,7) = '"&my_datum&"'"
		
		RecSet2.Open SQL, Connect, 1, 2
		mypengar = RecSet2("my_pengar")

	%>
	
	<td valign="bottom" style="text-align:center;">
		<%
			If myy = 2010 Then
				Response.Write myy
				color = "333399"
			Else
				Response.Write myy
				color = "6666cc"
			End If
			myy2 = myy
		%>
		<div style="background-color:#<%=color%>;color:#FFF;width:60px;height:<%=myh%>px;">
			<%=RecSet(0)%> st
			<%
			
				antal_ordrar = antal_ordrar + CInt(RecSet(0))
			
			%>
		</div>
		
		<b><%=mym%></b><br />
		<%=mypengar%><br />
	</td>
	
	<%
	
	RecSet.MoveNext
	Loop
	
%>
Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Är det raden

SQL = "Select SUM((Antal*Price)) as my_pengar FROM Kundvagn WHERE " & _
"Status <> 5 AND Left(Added,7) = '"&my_datum&"'"

som summerar? Ska det isåfall inte vara mypengar=mypengar+RecSet2("my_pengar"), eller det hanteras i själva frågan?

Ett generellt råd är ju annars att skriva ut värdena efter hand som de summeras, OM det nu inte sker i sql:en.

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