webForumDet fria alternativet

Matematik i loop

3 svar · 306 visningar · startad av Alamartimo

AlamartimoMedlem sedan okt. 2004129 inlägg
#1

Kört fast igen.

Loopar tider från Tabellen Practice.

Får inte till någon kod för att köra minus på 2 värden som loopas fram.

<%
	set Conn = Server.CreateObject("ADODB.Connection") 
	Conn.Open ""
	SQL = "SELECT Manager.ManagerID, Manager.MFName, Manager.MLName, min(LapTime) AS LTIME FROM Practice INNER JOIN Manager ON Manager.ManagerID = Practice.ManagerID GROUP BY ManagerID, MFName, MLName ORDER BY LapTime DESC"
	Set rsVisa = Conn.Execute(SQL)

Do Until rsVisa.EOF

Counter = Counter + 1

Lap = rsVisa("LTIME")

Tid = (Lap)
TidL = Left(Tid,1)

Tid = (Tid)
TidM = Mid(Tid,2,2)

Tid = (Tid)
TidR = Right(Tid,3)
%> 
  <tr> 
    <td width="30"><%= Counter %></td>
    <td width="200"><%= rsVisa("MFName")%>&nbsp;<%= rsVisa("MLName")%></td>
    <td width="200"></td>
    <td width="80">
<%
Response.Write TidL & ":"
Response.Write TidM & "."
Response.Write TidR & "s"
%>
</td>
    <td width="60">
</td>
  </tr>
  <%
	rsVisa.MoveNext
	Loop
%>

Det kanske inte funkar utan att jag måste göra om koden ??

Tiderna som loopas fram på sidan ska i alla fall jämföras mot den bästa tiden som hamnar överst och differensen vill jag ha ut i en kolumn på sidan bredvid tiderna..

Tack på förhand :)

AlamartimoMedlem sedan okt. 2004129 inlägg
#2

Har försökt med den här koden:

<%

Dim Lap, Lap2, LapDiff
	set Conn = Server.CreateObject("ADODB.Connection") 
	Conn.Open "DSN=F1SLM"
	SQL = "SELECT Manager.ManagerID, Manager.MFName, Manager.MLName, min(LapTime) AS LTIME FROM Practice INNER JOIN Manager ON Manager.ManagerID = Practice.ManagerID GROUP BY ManagerID, MFName, MLName ORDER BY LapTime DESC"
	Set rsVisa = Conn.Execute(SQL)

Do While Not rsVisa.EOF
Counter = Counter + 1
Lap = rsVisa("LTIME")

Tid = (Lap)
TidL = Left(Tid,1)
Tid = (Tid)
TidM = Mid(Tid,2,2)
Tid = (Tid)
TidR = Right(Tid,3)
%> 
  <tr> 
    <td width="30"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= Counter %></font></td>
    <td width="200"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= rsVisa("MFName")%>&nbsp;<%= rsVisa("MLName")%></font></td>
    <td width="200"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font></td>
    <td width="80"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<%
Response.Write TidL & ":"
Response.Write TidM & "."
Response.Write TidR & "s"
%>
</font></td>
<%
	rsVisa.MoveNext
	Loop
	rsVisa.MoveFirst
%>
<%
Do While Not rsVisa.EOF
Lap2 = rsVIsa("LTIME")
LapDiff = Lap - Lap2
%>

<%
Tid = (LapDiff)
TidL = Mid(Tid,1,1)
TidR = Right(Tid,3)
%>
   <td width="60"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<%
Response.Write TidL & "."
Response.Write TidR & "s"
%>
</font></td>
<%
	rsVisa.MoveNext
	Loop
%>

Det efter rsVisa.MoveFirst är det jag lagt till..

Men det blir inte rätt.

Om det är 2 resultat som visas så blir det korrekt ja nästan. jag får 0.0s i en ny kolumn som inte ska finnas där. Skillnaden mellan den bästa tiden och nästa blir rätt.

Pos | Driver | Laptime | Diff
1 | Hannu Alamartimo |1:11.969s
2 | Petri Korpela |1:13.679s | 1.710s 0.0s

Men är där 3 tider så blir tiderna helt fel och de listan i nya kolumner som inte ska finnas där..

Pos | Driver | Laptime |Diff
1 | Hannu Alamartimo | 1:11.969s
2 | Petri Korpela | 1:13.679s
3 | Test Manager | 1:14.133s |2.164s | 4.454s |0.0s

Men jag tror jag börjar komma rätt på det :e

Funderar på att först peta in resultatet i en ny tabell och därefter visa resultatet och därigenom få ut diffen rätt.

Men jag skulle helst vilja ha det på sättet jag försöker på..

AlamartimoMedlem sedan okt. 2004129 inlägg
#3

Har löst det på ett annat sätt nu...

Men jag har problem med formateringen av siffrorna..

Jag har fixat så talen 123456 blir 1:23.456

men när jag tar ex

123456 - 123345 = 111

och 123456 - 122345 = 1111

Så vill jag ha en . vid 3 decimaler.

.111
1.111

Får inte till det.

Jag loopar igenom en tabell så antalet siffror kan variera.

Har provat med Left och Right och formatcurrency (fast det inte är valuta)

Någon som vet?

Please :r

AlamartimoMedlem sedan okt. 2004129 inlägg
#4

Löste det med :birp

Ska ta en paus i några dagar nu.. Har hållit på för länge *hehe*

864 ms totalt · 3 externa anrop · v20260731065814-full.30151723
133 ms — hämta forumlista (db)
127 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)