10. august 2003 - 19:34Der er
47 kommentarer og 1 løsning
Online Tid?
Hej er der nogle som kender en kode som man kan lave online tid med, alster når den logger ind laver den en
session("logintid") = now()
så når den logger ud skal jeg have den til at opdatere, timer og min i databasen. Altser hvis nu man har været online i 2 timer og 50 min, og den står på 1 time og 15 min, så skal den lægge det sammen til 4 timer og 5 minutter.
Er der nogle som kan lave det eller har en kode liggende?
Problemmet som gizom skriver er at så loget folk rigtig af.
men du kan lave nogle funktioner som kan regne online tiden ud i timer og minutter eks:
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int(arrDB(1))+int(arrTid(1)) hours = int(arrDB(0))+int(arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 end if addTime = hours & ":" & mins end if end function
Så kan du når man logger ud lavet noget som:
onlinetid = timeCalc(session("logintid"),now) SQL = "SELECT * FROM tabel WHERE brugerID = " & Session("brugerID") Set rs = Conn.Execute(SQL) nyonlinetid = addTime(rs("onlineTid"), nlinetid) SQL = "UPDATE tabel SET onlineTid = '" & nyonlinetid & "' WHERE brugerID = " & session("brugerID")
Synes godt om
Slettet bruger
10. august 2003 - 20:48#8
Hvor opdateres minutter og hvor opdateres timer? jeg har lavet det i 2 felter?
Synes godt om
Slettet bruger
10. august 2003 - 20:53#9
Det er bare hvordan skal jeg ellers vise det? Så vil der jo komme til at stå min?
Synes godt om
Slettet bruger
10. august 2003 - 20:54#10
Hmm Nu kan jeg se det, ups sorry, hvis du har tid gider du så lave så man får et point pr time? Sig hvis du vil have flere points?
Er det i to kolonner ok, så må det laves lidt om eksvis såan her hvis de to kolonner er defineret som tal:
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
ja som du har vist det 10/08-2003 21:09:14 er også fint.
Funktionen er lavet hvis du senere har behov for at regne timer:minutter ud fra to Now() tidpunkter.
Synes godt om
Slettet bruger
10. august 2003 - 21:14#16
virker dette nu også til points? function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int(arrDB(1))+int(arrTid(1)) hours = int(arrDB(0))+int(arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 points = points + 1 end if addTime = hours & ":" & mins end if end function
Synes godt om
Slettet bruger
10. august 2003 - 21:15#17
Hmm den vister "ikke" fejl, men den opdatede heller ikke timer her :
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
min login fil: session("logintid") = now() function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int(arrDB(1))+int(arrTid(1)) hours = int(arrDB(0))+int(arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 end if addTime = hours & ":" & mins end if end function
kom lige i tanke om noget du er under logaf nød til at hendte fra databasen eller man du få flere minutter end 60, så dette skal med uder log af og hvis point = timer så kan du bare gemme timer i point kolonnen på samme tid:
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int(arrDB(1))+int(arrTid(1)) hours = int(arrDB(0))+int(arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 end if addTime = hours & ":" & mins end if end function
onlinetid = timeCalc(session("logintid"),now) SQL = "SELECT * FROM tabel WHERE brugerID = " & Session("brugerID") Set rs = Conn.Execute(SQL) nyonlinetid = addTime(rs("onlineTimer") &":"& rs("onlineMin"), onlinetid) arr = Split(nyonlinetid,":")
function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int(arrDB(1))+int(arrTid(1)) hours = int(arrDB(0))+int(arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 end if addTime = hours & ":" & mins end if end function
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
Prøv at bruge alt det kode for logaf. Den du har hendter ikke timer og minutter fra DBen og dermed kan minutter blive mere end 60. Det sidste kode du har vist kaldes addTiem ikke og den skulle bruges til at ligge timer:minutter fra DBen og det nye antal timer:minutter sammen.
Synes godt om
Slettet bruger
10. august 2003 - 22:01#37
Det virker TAK Mange TAK. Fik det til at virke Smid et svar.
PS: Ved du hvordan man kan sætte den til at give 1 point pr time?
Synes godt om
Slettet bruger
10. august 2003 - 22:03#38
Dog en fejl, ved 60 minutter opdatere den ikke til 1 time?
BRuger du dette hvor den først hendter fra DBen timer:minutter: Her også et eks med hvordan man får 1 pr point ny time: Dette til logaf delen:
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int(arrDB(1))+int(arrTid(1)) hours = int(arrDB(0))+int(arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 end if addTime = hours & ":" & mins end if end function
onlinetid = timeCalc(session("logintid"),now) SQL = "SELECT * FROM brugere WHERE id= " & Session("ID") Set rs = Conn.Execute(SQL)
nyonlinetid = addTime(rs("Timer") &":"& rs("Min"), onlinetid) arr = Split(nyonlinetid,":") point = int(arr(0)) - Int(rs("Timer")) SQL = "UPDATE brugere SET [timer] = [timer] + " & arrOnlineTid(0) & ", [min] = [min] + " & arrOnlineTid(1) & " point = point + " & point & " WHERE id = " & session("id")
Synes godt om
Slettet bruger
10. august 2003 - 22:53#41
Det virker det hele undtagel, minutter den skal nulstille minutter når der kommer en nye time? Kan man ikke lave det?
det er vist også noget med navnet på arrayet så prøv dette:
function timeCalc(StartTime, FinishTime) diff = datediff("n",StartTime,FinishTime) hours = int(diff / 60) mins = diff - (60*hours) timeCalc = hours & ":" & mins end function
function addTime(dbTid,nyTid) addTime = nyTid if len(dbTid) > 0 and inStr(1, dbTid, ":") > 0 then arrDB = Split(dbTid,":") arrTid = Split(nyTid,":") mins = int("0" & arrDB(1))+int("0" & arrTid(1)) hours = int("0" & arrDB(0))+int("0" & arrTid(0)) if mins >= 60 then mins = mins - 60 hours = hours + 1 end if addTime = hours & ":" & mins end if end function
onlinetid = timeCalc(session("logintid"),now) SQL = "SELECT * FROM brugere WHERE id= " & Session("ID") Set rs = Conn.Execute(SQL)
nyonlinetid = addTime(rs("Timer") &":"& rs("Min"), onlinetid) arrOnlineTid = Split(nyonlinetid,":") point = int("0" & arrOnlineTid(0)) - Int(rs("Timer")) SQL = "UPDATE brugere SET [timer] = [timer] + " & arrOnlineTid(0) & ", [min] = [min] + " & arrOnlineTid(1) & " point = point + " & point & " WHERE id = " & session("id") Conn.Execute(SQL)
Synes godt om
Slettet bruger
11. august 2003 - 15:04#48
It Works MANGE TAK! Jeg slettede bare + min og + timer! TAK! Hvis du har et script til at åbne en popup når siden lukkes og har tid må du gerne smide det her.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.