webForumDet fria alternativet

Räkna ut snitt

ASP

24 svar · 861 visningar · startad av wborg · sida 2 av 2

Frågan, av wborg

Hej, jag sitter med en resultat/statistik sida för golfare där man har matat in alla rundor bana för bana i ett scorecard vilket funkar utmärkt. Vad jag nu vill göra är att lägga till snitt för varje enskild bana + totalt för varje tävling och även en total sammanställning av snitt per bana och slutresultat. Jag vill ha snitten i en ny rad efter den nu ista raden i varje tävlings tabell och den

Läs frågan i sin helhet →
Medlem sedan dec. 2003209 inlägg
#21

Doggelito, nu kommer snittet upp på alla tävlingarna men nu räknar den fel på 2005 års tävling som räknades rätt innan ?? hajar inte ett skvatt just nu faktiskt, gör du??

Jag la till en till tävling nu, kolla på hur 3:e tävlingens snitt
ser ut nu, vad är det som händer egentligen?

http://www.monow.se/borg/sub/doggelito3.asp

/S

Medlem sedan juni 20003 076 inlägg
#22

jahapp, då försöker vi igen då!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>

		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title></title>
		<script language="JavaScript" type="text/javascript" src="/templates/menu.js"></script>
		<link href="stylesheets/stylesheet1.css" rel="stylesheet" type="text/css" >
		<link href="stylesheets/links.css" rel="stylesheet" type="text/css" >
		<link rel="stylesheet" type="text/css" href="stylesheets/table.css">

	</head>

<body>

<table width="695" height="0" border="0" cellspacing="5">
	<tr>

<td>

			
                        <%
                          dim Conn, objrs, i, y, prevDate, currDate, strTot
                          Set Conn = Server.CreateObject("ADODB.Connection") 
                          Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/eb.mdb") 
                          Set objrs = Conn.Execute("SELECT tbl_player.Namn, tbl_player.Efternamn, tbl_res.CompYear, tbl_res.Course, tbl_res.AMT1, tbl_res.AMT2, tbl_res.AMT3, tbl_res.AMT4, tbl_res.AMT5, tbl_res.AMT6, tbl_res.AMT7, tbl_res.AMT8, tbl_res.AMT9, tbl_res.AMT10, tbl_res.AMT11, tbl_res.AMT12, tbl_res.AMT13, tbl_res.AMT14, tbl_res.AMT15, tbl_res.AMT16, tbl_res.AMT17, tbl_res.AMT18, tbl_res.TOTAL, tbl_res.Date, tbl_res.CompName FROM tbl_player INNER JOIN tbl_res ON tbl_player.PlayerId=tbl_res.PlayerId WHERE tbl_res.Surface ='EB' ORDER BY tbl_res.Date, tbl_res.Varv")

			  
                          Dim arrSum, Counter, moreThenOne
                          Counter = 0
						  moreThenOne = false
                          Redim arrSum(18)
						  
                          while not objrs.BOF and not objrs.EOF
	                 		
                       		 currDate = objrs("Date")
                          	if IsEmpty(prevDate) then 'first iteration
	                  			createNewTableStart(false)
                        	elseif prevDate <> currDate then
			  				
			  					Response.Write("<tr>" & vbCrlf)
			  					For i = 0 To 18
									Response.Write("<td>" & FormatNumber(arrSum(i)/Counter,2) & "</td>")
			 					Next
			 					Response.Write("</tr>" & vbCrlf)
			  					Counter = 0
								 moreThenOne = true
				
			 					createNewTableStart(true)
			  
                          		Redim arrSum(18)
			  			  
                          	end if
                       
 Counter = Counter +1
							
                          	y = y + 1
                          	If y Mod 2 = 0 Then
								Response.Write("<tr bgcolor=""#EEEEEE"">")
							Else
								Response.Write("<tr bgcolor=""#FFFFFF"">")
							End If

			          	  	For I = 1 to 18
                            	If len(objrs("AMT" & I)) > 0 Then
			          	  			arrSum(I-1) = arrSum(I-1) + cint(objrs("AMT" & I))
                                End If
								
								Response.Write("<td align=""center"">" & objrs("AMT" & I) & "</td>")
			        		Next 
						
							Response.Write("<td align=""center"">")
	                        strTot = objrs("TOTAL")
							
							arrSum(18) = arrSum(18) + cint(objrs("TOTAL"))
							
	                        if strTot < 20 then 
		                    	response.write "<span class=""blueText"">"&strTot&"</span>"
	                        elseif strTot < 25 then 
		                    	response.write "<span class=""greenText"">"&strTot&"</span>"
	                        elseif strTot < 30 then
		                        response.write "<span class=""redText"">"&strTot&"</span>"
	                         elseif strTot > 29 then
		                        response.write "<span class=""blackText"">"&strTot&"</span>"
	                         End if 	
	                         response.write vbCrLf & "</td>" & vbCrLf & "</tr>" & vbCrLf
	                         prevDate = currDate
	                         objrs.movenext
                        wend

						If Counter >0 Or moreThenOne = false Then
							 Response.Write("<tr>" & vbCrlf)
								  For i = 0 To 18
									   Response.Write("<td>" & FormatNumber(arrSum(i)/Counter),2) & "</td>")
								  Next
							 Response.Write("</tr>" & vbCrlf)
						End If

		
					    if i=0 then 'empty recordset
					  		response.write "<tr><td colspan=""19"">Det finns inga resultat!</td></tr>"
					    end if
                      %>

					</table>
					<%
							  'close and kill recordset/connection objects
					  objrs.close
					  set objrs = nothing
					  Conn.close
					  set Conn = nothing
					%>
					</td>
				</tr>
			</table>
                
		</td>

	</tr>
</table>
</body>
</html>

<%
	Sub createNewTableStart(endPrevTable)
		if endPrevTable then response.write vbCrLf & "</table>" & vbCrLf & "<br />" & vbCrLf
%>

    <span style="padding-left: 28px;" class="rubrik"><b><%=objrs("CompName") %>&nbsp;<%= objrs("Course") %> (<%= objrs("Date") %>)</b></span>

                        <br>
                      
			<table align="center" border="1" style="border-collapse: collapse" bordercolor="1px solid #000000">
				<tr bgcolor="#CDD5E4" style="font-weight: bold">
				<% For I = 1 to 18 %>
					<td width="30" align="center"><a href="top10.asp?Show=Top10&Lane=<%=I%>" target=""><%=I%></a></td>
					<% Next %>
					<td width="30" align="center">Tot</td>
				</tr>
			
<% End Sub %>
Medlem sedan dec. 2003209 inlägg
#23

Tack ska du ha doggelito, nu funkar det ju perfekt.
Vad var det som var fel egentligen??

/S

Medlem sedan juni 20003 076 inlägg
#24

Kul att det fungerar! :)
Det var variabeln: Counter som trasslade till det lite, fick flytta och byta värde på den igen.

Medlem sedan apr. 20031 660 inlägg
#25

HEJ!

wborg skrev:

J.N. Istället för skärmdump så hårdkodade jag en sida som har url:
http://www.monow.se/borg/sub/fake.asp

Den understa raden vill jag ska finnas där på alla tabeller som läggs in i databasen i framtiden oxå dvs att den bör ju ligga med i loopen på något sätt
så att den kommer med dynamiskt.

/S

Där ser man vilken hjälp det blir med ett ordentligt exempel, skärmdump eller hårdkodat!
Bra ni löst det! :bire

261 ms totalt · 4 externa anrop · v20260731065814-full.868a69e5
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)