Total

ASP

30 svar · 422 visningar · startad av jboy_87

Medlem sedan aug. 20011 099 inlägg
Trådstart#1

varför plussas det dubbelt??:

minutes = datediff("n",cdate(session("totalminonline")),now())
Set connect55 = server.createobject("adodb.connection")
Connect55.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect55.execute "update members set totalminonline = totalminonline +" & minutes & " where id = " & session("id"),,128
Medlem sedan aug. 20011 099 inlägg
#2

..........

Medlem sedan okt. 20005 273 inlägg
#3

Vad innehåller session("totalminonline")??

Medlem sedan feb. 2001390 inlägg
#4

annars kan du alltid testa detta:

Response.Write(TypeName(minutes))

så får du se vad det är för typ på varibeln minutes!

Medlem sedan aug. 20011 099 inlägg
#5

Session("totalminonline") = now() när man loggar in

Medlem sedan aug. 20011 099 inlägg
#6

nån

Medlem sedan juni 2001206 inlägg
#7

Hmm.....testa att göra om minutes till en integer...

minutes = datediff("n",cdate(session("totalminonline")),now())
Set connect55 = server.createobject("adodb.connection")
Connect55.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect55.execute "update members set totalminonline = totalminonline + " & cint(trim(minutes)) & " where id = " & session("id"),,128

EDIT: fattade fel....

Medlem sedan aug. 20011 099 inlägg
#8

nix funkar inte

Medlem sedan aug. 20011 099 inlägg
#9

plussas fortfarande dubbelt :-(

Medlem sedan aug. 20011 099 inlägg
#10

nån

Medlem sedan juni 200032 967 inlägg
#11

Jag tror du får visa lite mer kod som passar in i sammanhanget.

Mvh,

Medlem sedan aug. 20011 099 inlägg
#12

så här ser hela ut:

<%
minutes = datediff("n",cdate(session("minonline")),now())
response.write "" & minutes & "" %><%minutes = datediff("n",cdate(session("minonline")),now())
set connect22 = server.createobject("adodb.connection")
Connect22.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect22.execute "update members set minonline = " & minutes & " where id = " & session("id"),,128

minutes = datediff("n",cdate(session("minonline")),now())
if minutes > 60 then
points = 3
connect22.execute "update members set minonline = " & minutes & " , poang = " & points &" where id = " & session("id"),,128
Connect22.close
Set Connect22 = nothing
end if

minutes2 = datediff("n",cdate(session("totalminonline")),now())
Set connect55 = server.createobject("adodb.connection")
Connect55.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect55.execute "update members set totalminonline = totalminonline + 0" & minutes2 & " where id = " & session("id"),,128

%>
Medlem sedan aug. 20011 099 inlägg
#13

nån som kan hjälpa mig

Medlem sedan okt. 20005 273 inlägg
#14

först uppdaterar du minutes en gång här

<%
minutes = datediff("n",cdate(session("minonline")),now())
response.write "" & minutes & "" %><%minutes = datediff("n",cdate(session("minonline")),now())
set connect22 = server.createobject("adodb.connection")
Connect22.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect22.execute "update members set minonline = " & minutes & " where id = " & session("id"),,128
minutes = datediff("n",cdate(session("minonline")),now())
if minutes > 60 then
points = 3
connect22.execute "update members set minonline = " & minutes & " , poang = " & points &" where id = " & session("id"),,128
Connect22.close
Set Connect22 = nothing
end if

sen uppdaterar du den en gång till här

minutes2 = datediff("n",cdate(session("totalminonline")),now())
Set connect55 = server.createobject("adodb.connection")
Connect55.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect55.execute "update members set totalminonline = totalminonline + 0" & minutes2 & " where id = " & session("id"),,128

%>

inte konstigt att det blir dubbelt :)

Medlem sedan okt. 20005 273 inlägg
#15

mär jag tittat lite närmare så märkte jar att om man har varit där i mer än 60 minuter uppdateras minuterna 3 ggr..... :OO

Medlem sedan aug. 20011 099 inlägg
#16

nope funkar inte

Medlem sedan aug. 20011 099 inlägg
#17

det blir sek istället!!!!

Medlem sedan aug. 20011 099 inlägg
#18

fattar inte riktigt ?????

Medlem sedan okt. 20005 273 inlägg
#19

Vad är det du inte fattar... ;)
här lägger du in totalminutes första gången:

<%
minutes = datediff("n",cdate(session("minonline")),now())
response.write "" & minutes & "" %><%minutes = datediff("n",cdate(session("minonline")),now())
set connect22 = server.createobject("adodb.connection")
Connect22.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect22.execute "update members set minonline = " & minutes & " where id = " & session("id"),,128

sen uppdaterar du tabellen en gång till om man varit inloggad 60 minuter


minutes = datediff("n",cdate(session("minonline")),now())
if minutes > 60 then
points = 3
connect22.execute "update members set minonline = " & minutes & " , poang = " & points &" where id = " & session("id"),,128
Connect22.close
Set Connect22 = nothing
end if

och sen uppdaterar du en sista gång


minutes2 = datediff("n",cdate(session("totalminonline")),now())
Set connect55 = server.createobject("adodb.connection")
Connect55.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/members.mdb")&""
connect55.execute "update members set totalminonline = totalminonline + 0" & minutes2 & " where id = " & session("id"),,128

%>

hmmmmmm ......varför vet jag inte

Medlem sedan aug. 20011 099 inlägg
#20

det blir ju samma sak

451 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
161 ms — deklarationer (db)
0 ms — hämta statistik (cache)
263 ms — hämta tråd, inlägg och bilagor (db)
184 ms — ändringar (db)