📄 count1.asp
字号:
<!--#include file=conn.asp-->
<%Response.Expires=0%>
<%
set rsre=Server.createobject("adodb.recordset")
rsre.open "kcount",conn,1,1
if not rsre.eof then
rearray=rsre.getrows(,,0)
rsre.close
set rsre=nothing
else
rsre.close
set rsre=nothing
end if
rscountuser="select count(*) from kcount "
set rsc=Server.createobject("adodb.recordset")
rsc.open rscountuser,conn,1,1
countuser=rsc(0)
countuser=clng(countuser)
rsc.close
set rsc=nothing
for ui=0 to countuser-1
Application.lock
set rsuser=server.createobject("adodb.recordset")
sql="select * from kcount where countid="&overuserid&""'//计数表
rsuser.open sql,conn,1,1
session("countmanner")=cstr(trim(rsuser("countmanner")))
countprogress=clng(rsuser("countprogress"))
countnumer=rsuser("countnumer")
session("newcountnumer")=countnumer+countprogress
rsuser.close
set rsuser=nothing
sql="update kcount set countnumer="&session("newcountnumer")&" where countid="&overuserid&""'返回计数值
conn.execute sql
overip=Request.ServerVariables("REMOTE_ADDR")'//往总表中写入值
overtime=now()
set bw=Server.CreateObject("MSWC.BrowserType")
overexp=trim(bw.browser&bw.version&bw.majorver)
oversys=trim(bw.Platform)
sql="insert into overall(overseid,overip,overtime,overexp,oversys,overuserid) values('1','"&overip&"',#"&overtime&"#,'"&overexp&"','"&oversys&"','"&overuserid&"')"
conn.execute sql
set Rstime=Server.Createobject("adodb.recordset")
sql="select * from overall where overuserid='"&overuserid&"' order by overtime "'//找到这个用户并按时间由小到大排序
Rstime.open sql,conn,1,1
Rows=clng(Rstime.recordcount)'取出总记录数
Rstime.movefirst'//时间最小的记录
rshour=clng(hour(Rstime("overtime")))'//返回小时
rsday=clng(day(Rstime("overtime")))'//返回日
rsmonth=clng(month(Rstime("overtime")))'//返回月
rshour1y=cstr(year(Rstime("overtime")))
rshour1m=cstr(month(Rstime("overtime")))
rshour1d=cstr(day(Rstime("overtime")))
if len(rshour1m)=1 then
rshour1m="0"&rshour1m
end if
if len(rshour1d)=1 then
rshour1d="0"&rshour1d
end if
newhour=clng(hour(now()))
newday=clng(day(now()))
newmonth=clng(month(now()))
kmarkday=cstr(day(now()))
if (rsday=newday and rshour<newhour)or rsday<newday or rsmonth<newmonth then'//如果是今天并且小时小于当前小时或日小于今天或月小于当前月
If Not Rstime.Bof Then'//返回所有记录值至数组
Assay=Rstime.GetRows
End If
Rstime.close
set Rstime=nothing
Rows=Rows-1
l=0
for i=1 to Rows'//去除刚插入的一条
sql="insert into kip(kuserid,kip,kexp,ksys,ktime,kmarkday) values('"&overuserid&"','"&Assay(2,l)&"','"&Assay(3,l)&"','"&Assay(4,l)&"',#"&Assay(5,l)&"#,'"&kmarkday&"')"'//往kip表中插入ip等信息
conn.execute sql
l=l+1
next
sql="delete from overall where overtime < #"&now()&"# and overuserid='"&overuserid&"'"'//删除时间小于当前时间的记录
conn.execute sql
sql="insert into ktime(ktimeuserid,ktimehour,ktimedate,ktimecount,ktimeday) values('"&overuserid&"','"&rshour&"',#"&now()&"#,"&Rows&",'"&rshour1d&"')"'//向时表插入每小时的统计信息
conn.execute sql
else
Rstime.close
set Rstime=nothing
end if
da=Dateadd("d",-1,now())'//插入日表(前一天的日期)
dad=cstr(day(da))
dam=cstr(month(da))
daye=cstr(year(da))
if len(dam)=1 then
dam="0"&dam
end if
if len(dad)=1 then
dad="0"&dad
end if
dat=daye&"-"&dam&"-"&dad
sqlday="select * from kday where kday='"&dad&"' and kdayuserid='"&overuserid&"'"'//日表中有无这个日期的数据
set rssqlday=Server.Createobject("adodb.recordset")
rssqlday.open sqlday,conn,1,1
sqlday2="select * from ktime where ktimeday='"&dad&"' and ktimeuserid='"&overuserid&"'"'//时表去找记录
set rssqlday2=Server.Createobject("adodb.recordset")
rssqlday2.open sqlday2,conn,1,1
if rssqlday.eof and not rssqlday2.eof then'//日表中无这日的数据并且时表有记录
rssqlday.close
set rssqlday=nothing
rssqlday2.close
set rssqlday2=nothing
dayweek=cstr(Datepart("w",da))'//前天是当周的第几天
dayweeknumber=clng(Datepart("ww",da))'//前天所在星期是全年的第几周
sqlday2="select sum(ktimecount) from ktime where ktimeuserid='"&overuserid&"' and ktimeday='"&dad&"'"'统计这个用户日期为前一天的数据
set rssqlday2=server.createobject("adodb.recordset")
rssqlday2.open sqlday2,conn,1,1
kdaycount=rssqlday2(0)
rssqlday2.close
set rssqlday2=nothing
sqlday3="insert into kday(kdayuserid,kday,kdaydate,kdaycount,kdayweek,kdayweeknumber,kdaymonth) values('"&overuserid&"','"&dad&"',#"&da&"#,"&kdaycount&",'"&dayweek&"',"&dayweeknumber&",'"&dam&"')"'//前一天数据放入日表
conn.execute sqlday3
sqlday4="select * from kcounttop where counttopuserid='"&overuserid&"'"'//判断日最高
set rssqlday4=Server.createobject("adodb.recordset")
rssqlday4.open sqlday4,conn,1,1
counttopday=rssqlday4("counttopdaynum")
rssqlday4.close
set rssqlday4=nothing
if counttopday<kdaycount then
sqlday4in="update kcounttop set counttopdaynum="&kdaycount&",counttopdaydate=#"&da&"# where counttopuserid='"&overuserid&"'"
conn.execute sqlday4in
end if
sqltimedel="delete from ktime where ktimedate<#"&da&"# and ktimeuserid='"&overuserid&"'"'//清除时表中小于前天记录
conn.execute sqltimedel
else
rssqlday.close
set rssqlday=nothing
end if
dm=Dateadd("ww",-1,now())'//当前日期减去1周的时间
dmm=cstr(Datepart("ww",dm))'//第几周
sqlmonth="select * from kweek where kweek='"&dmm&"' and kweekuserid='"&overuserid&"' "'//判断周表中是否已有了这个周的统计值
set rssqlmonth=Server.Createobject("adodb.recordset")
rssqlmonth.open sqlmonth,conn,1,1
sqlmonth2="select * from kday where kdayweeknumber='"&dmm&"' and kdayuserid='"&overuserid&"'"'//判断日表中有没有这周的数据
set rssqlmonth2=Server.Createobject("adodb.recordset")
rssqlmonth2.open sqlmonth2,conn,1,1
if rssqlmonth.eof and not rssqlmonth2.eof then'如果周表尚无这周的记录并且日表中有这周的记录
dmy=year(dm)
dmmm=month(dm)
dmd=day(dm)
if len(dmmm)=1 then
dmmm="0"&dmmm
end if
if len(dmd)=1 then
dmd="0"&dmd
end if
dmt=dmy&"-"&dmmm&"-"&dmd
rssqlmonth.close
set rssqlmonth=nothing
rssqlmonth2.close
set rsswlmonth2=nothing
sqlweek="select sum(kdaycount) from kday where kdayweeknumber='"&dmm&"' and kdayuserid='"&overuserid&"'"'统计日表中这周的所有记录
set rssqlweek=Server.Createobject("adodb.recordset")
rssqlweek.open sqlweek,conn,1,1
kweekcount=rssqlweek(0)
rssqlweek.close
set rssqlweek=nothing
sqlweek3="insert into kweek(kweekuserid,kweek,kweekdate,kweekcount) values('"&overuserid&"','"&dmm&"',#"&dm&"#,"&kweekcount&")"'//插入这周记录至周表
conn.execute sqlweek3
sqlweek4="select * from kcounttop where counttopuserid='"&overuserid&"'"'//周最高
set rssqlweek4=Server.createobject("adodb.recordset")
rssqlweek4.open sqlweek4,conn,1,1
counttopweek=rssqlweek4("counttopweeknum")
rssqlweek4.close
set rssqlweek4=nothing
if counttopweek<kweekcount then
sqlweek4in="update kcounttop set counttopweeknum="&kweekcount&",counttopweekdate=#"&dm&"# where counttopuserid='"&overuserid&"'"
conn.execute sqlweek4in
end if
sqldelweek="delete from kweek where kweekdate<#"&dm&"# and kweekuserid='"&overuserid&"'"
conn.execute sqldelweek
else
rssqlmonth.close
set rssqlmonth=nothing
end if
mo=Dateadd("m",-1,now())'//插入月信息
mom=cstr(Datepart("m",mo))
mood=cstr(Datepart("d",mo))
moy=cstr(Datepart("yyyy",mo))
if len(mom)=1 then
mom="0"&mom
end if
if len(mood)=1 then
mood="0"&mood
end if
mot=moy&"-"&mom&"-"&mood
sqlmo="select * from kmonth where kmonth='"&mom&"' and kmonthuserid='"&overuserid&"'"
set rssqlmo=Server.Createobject("adodb.recordset")
rssqlmo.open sqlmo,conn,1,1
sqlmo1="select * from kday where kdaymonth='"&mom&"' and kdayuserid='"&overuserid&"'"
set rssqlmo1=Server.Createobject("adodb.recordset")
rssqlmo1.open sqlmo1,conn,1,1
if rssqlmo.eof and not rssqlmo1.eof then'//判断日和月
rssqlmo.close
set rssqlmo=nothing
rssqlmo1.close
set rssqlmo1=nothing
sqlmo2="select sum(kdaycount) from kday where kdaymonth='"&mom&"' and kdayuserid='"&overuserid&"'"
set rssqlmo2=Server.createobject("adodb.recordset")
rssqlmo2.open sqlmo2,conn,1,1
kmonthcount=rssqlmo2(0)
rssqlmo2.close
set rssqlmo2=nothing
sqlmo3="insert into kmonth(kmonthuserid,kmonth,kmonthdate,kmonthcount,kmonthyear) values('"&overuserid&"','"&mom&"',#"&mo&"#,"&kmonthcount&",'"&moy&"')"
conn.execute sqlmo3
sqlmo5="select * from kcounttop where counttopuserid='"&overuserid&"'"'//月最高
set rssqlmo5=Server.createobject("adodb.recordset")
rssqlmo5.open sqlmo5,conn,1,1
counttopmo=rssqlmo5("countmonthernum")
rssqlmo5.close
set rssqlmo5=nothing
if counttopmo<kmonthcount then
sqlmo5int="update kcounttop set countmonthernum="&kmonthcount&",countmontherdate=#"&mo&"# where counttopuserid='"&overuserid&"'"
conn.execute sqlmo5int
end if
sqlmo4="delete from kday where kdaydate<#"&mo&"# and kdayuserid='"&overuserid&"'"'//删除日表中小于上月的信息
conn.execute sqlmo4
else
rssqlmo.close
set rssqlmo=nothing
rssqlmo1.close
set rssqlmo1=nothing
end if
dy=Dateadd("yyyy",-1,now())'//插入年表
dyc=cstr(Datepart("yyyy",dy))
sqlyear="select * from kyear where kyear='"&dyc&"' and kyearuserid='"&overuserid&"'"
set rssqlyear=Server.createobject("adodb.recordset")
rssqlyear.open sqlyear,conn,1,1
sqlyear1="select * from kmonth where kmonthyear='"&dyc&"' and kmonthuserid='"&overuserid&"'"
set rssqlyear1=Server.createobject("adodb.recordset")
rssqlyear1.open sqlyear1,conn,1,1
if rssqlyear.eof and not rssqlyear1.eof then
rssqlyear.close
set rssqlyear=nothing
rssqlyear1.close
set rssqlyear1=nothing
dyy=year(dy)
dym=month(dy)
dyd=day(dy)
if len(dym)=1 then
dym="0"&dym
end if
if len(dyd)=1 then
dyd="0"&dyd
end if
dyt=dyy&"-"&dym&"-"&dyd
sqlyear2="select sum(kmonthcount) from kmonth where kmonthyear='"&dyc&"' and kmonthuserid='"&overuserid&"'"
set rssqlyear2=Server.createobject("adodb.recordset")
rssqlyear2.open sqlyear2,conn,1,1
kyearcount=rssqlyear2(0)
rssqlyear2.close
set rssqlyear2=nothing
sqlyear3="insert into kyear(kyearuserid,kyear,kyeardate,kyearcount) values('"&overuserid&"','"&dyc&"','"&dyt&"',"&kyearcount&")"
conn.execute sqlyear3
dydel=cstr(clng(Datepart("yyyy",dy)))
yeardel="delete from kmonth where kmonthdate<#"&dy&"# and kmonthuserid='"&overuserid&"'"
conn.execute yeardel
else
rssqlyear.close
set rssqlyear=nothing
rssqlyear1.close
set rssqlyear1=nothing
end if
ipdate=Dateadd("d",-1,now())'//一天统计一次IP浏览器等信息
ipdatem=cstr(Datepart("d",ipdate))
sqlipdate="select * from kip where kuserid='"&overuserid&"' and kmark=2 and kmarkday='"&ipdatem&"'"
set rssqlipdate=Server.createobject("adodb.recordset")
rssqlipdate.open sqlipdate,conn,1,1
sqlipdate2="select * from kip where kuserid='"&overuserid&"' and kmark=1 and kmarkday='"&ipdatem&"'"
set rssqlipdate2=Server.createobject("adodb.recordset")
rssqlipdate2.open sqlipdate2,conn,1,1
if rssqlipdate.eof and not rssqlipdate2.eof then
rssqlipdate.close
set rssqlipdate=nothing
rssqlipdate2.close
set rssqlipdate2=nothing
sqlip="select count(*) from kip where kuserid='"&overuserid&"' and ktime<#"&ipdate&"# and kexp like 'IE5%' and kmark=1"
set rssqlip=Server.Createobject("adodb.recordset")
rssqlip.open sqlip,conn,1,1
if not rssqlip.eof then
kienow=rssqlip.recordcount
kienow=rssqlip(0)
rssqlip.close
set rssqlip=nothing
else
rssqlip.close
set rssqlip=nothing
kienow=0
end if
sqlipold="select count(*) from kip where kuserid='"&overuserid&"' and ktime<#"&ipdate&"# and kexp like 'IE4%' and kmark=1 "
set rssqlipold=Server.createobject("adodb.recordset")
rssqlipold.open sqlipold,conn,1,1
if not rssqlipold.eof then
kieold=rssqlipold(0)
rssqlipold.close
set rssqlipold=nothing
else
rssqlipold.close
set rssqlipold=nothing
kieold=0
end if
sqlsy="select count(*) from kip where kuserid='"&overuserid&"' and ktime<#"&ipdate&"# and ksys like 'WinNT%' and kmark=1"
set rssqlsy=Server.createobject("adodb.recordset")
rssqlsy.open sqlsy,conn,1,1
if not rssqlsy.eof then
kwinnow=rssqlsy(0)
rssqlsy.close
set rssqlsy=nothing
else
rssqlsy.close
set rssqlsy=nothing
kwinnow=0
end if
sqlsy2="select count(*) from kip where kuserid='"&overuserid&"' and ktime<#"&ipdate&"# and ksys like 'Win9%' and kmark=1"
set rssqlsy2=Server.createobject("adodb.recordset")
rssqlsy2.open sqlsy2,conn,1,1
if not rssqlsy2.eof then
kwinold=rssqlsy2(0)
rssqlsy2.close
set rssqlsy2=nothing
else
rssqlsy2.close
set rssqlsy2=nothing
kwinold=0
end if
sqlipcount="select count(*) from kip where kuserid='"&overuserid&"' and ktime<#"&ipdate&"# and kmark=1"
set rssqlipcount=Server.createobject("adodb.recordset")
rssqlipcount.open sqlipcount,conn,1,1
if not rssqlipcount.eof then
sqlipcountnum=rssqlipcount(0)
rssqlipcount.close
set rssqlipcount=nothing
knetscape=clng(sqlipcountnum)-(clng(kienow)+clng(kieold))
kelse=clng(sqlipcountnum)-(clng(kwinnow)+clng(kwinold))
else
rssqlipcount.close
set rssqlipcount=nothing
knetscape=0
kelse=0
end if
mark="insert into kip(kuserid,kmark,kieold,kienow,knetscape,kwinold,kwinnow,kelse,ktime,kmarkday) values('"&overuserid&"',2,"&kieold&","&kienow&","&knetscape&","&kwinold&","& kwinnow&","&kelse&",#"&ipdate&"#,'"&ipdatem&"')"
conn.execute mark
mark="delete from kip where ktime<#"&ipdate&"# and kuserid='"&overuserid&"' and kmark=1"
conn.execute mark
else
rssqlipdate.close
set rssqlipdate=nothing
rssqlipdate2.close
set rssqlipdate2=nothing
end if
Application.unlock
next
conn.close
set conn=nothing
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -