您的位置:首页精文荟萃软件资讯 → 完整的访问统计程序(二 程序篇)

完整的访问统计程序(二 程序篇)

时间:2004/10/7 19:05:00来源:本站整理作者:蓝点我要评论(0)

原创:豆腐
请大家在转载和使用的时候 保留这条信息
*/
/* dbcn.asp
创建数据库连接的 公用程序
*/
<%
function OpenConn()
'创建数据库连接
dim ConnStr
dim uid
dim pwd
dim db
uid="BBC"
pwd="BBC"
db="BBC"
Softserver="Softdepserver"
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr="Provider=SQLOLEDB.1;UID=" & uid & ";PWD=" & pwd & ";database=" & db & ";server=" & Softserver & ""

Conn.Open ConnStr

set OpenConn=Conn
end function

function OpenRst()
'创建数据库记录集
set Rst=Server.CreateObject ("ADODB.Recordset")
set OpenRst=Rst
end function
%>
/*
staticFunc
统计程序所需要用到的函数库
*/


<%
set conn=openConn()
set rst=openRst()
sub WriteDateTable(intStart,intEnd,strArray,ccount)
'生成统计表
%>

<%for i="intStart" to="">




<%next%>

<%=strarray(i)%>

<%
if rst.eof then
setbar 0,ccount
else
if rst(1)=i then
setbar rst(3),ccount
if not rst.eof then rst.movenext
else
setbar 0,ccount
end if
end if
%>


<%
end sub
%>
<%
sub setBar(num,ccount)
'生成统计条
if ccount=0 then
percent=0
else
percent=cInt(num/ccount*10000)/100
end if
strGif="bar.gif"
%>
" height="10" _src="<%=strGif%>"><%=percent%>%

<%
end sub
%>
<%
sub writeDayStatic(userid)
'生成日统计
i=0
dim strArray(100)
for i=0 to 23
strArray(i)= cStr(i) & "点--" & cstr(i+1) & "点"
next
i=0
set rst=openRst()
strSQL="select sum(num) as ccount from dateStatic where userid='" & userid & "'"
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from dateStatic where userid='" & userid & "' order by hourid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
访问总数<%=ccount%>


<%=num%>

 


<% writedatetable="" strarray="" ccount="">


<%writedatetable strarray="" ccount="">




<%
end sub
%>
<%
sub writeWeekStatic(userid)
'生成周统计
i=0
dim strArray(7)
strArray(0)="星期日"
strArray(1)="星期一"
strArray(2)="星期二"
strArray(3)="星期三"
strArray(4)="星期四"
strArray(5)="星期五"
strArray(6)="星期六"
i=0
strSQL="select sum(num) as ccount from weekStatic where userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from WeekStatic where userid='" & userid & "' order by dayid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
访问总数<%=ccount%>



<% writedatetable="" strarray="" ccount="">


<%
end sub
%>
<%
sub writeMonthStatic(userid)
'生成月统计
i=0
dim strArray(32)
for i=1 to 31
strArray(i)=cStr(i) & "日"
next
i=0
strSQL="select sum(num) as ccount from MonthStatic where userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from MonthStatic where userid='" & userid & "' order by dayid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
访问总数<%=ccount%>




<% writedatetable="" strarray="" ccount="">
<% writedatetable="" strarray="" ccount="">


<%
end sub
%>
<%
sub writeYearStatic(userid)
i=0
dim strArray(13)
for i=1 to 12
strArray(i)=cStr(i) & "月"
next
i=0
strSQL="select sum(num) as ccount from YearStatic where userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if isnull(Rst("ccount")) then
ccount=0
else
ccount=Rst("ccount")
end if
strSQL="select * from YearStatic where userid='" & userid & "' order by monthid"
set rst=openRst()
rst.open strSQL,conn,3,3
%>
访问总数<%=ccount%>




<% writedatetable="" strarray="" ccount="">
<% writedatetable="" strarray="" ccount="">


<%
end sub
%>
<%
sub WriteRecentInfo(userid)
'显示访问者的浏览器分布
StrSQL="select top 10 * from accessstat where userid='" & userid & "' order by VisitTime desc"
set rst=openRst()
Rst.open StrSQL,Conn,3,1
%>










<% for="" i="1" to="" rst.recordcount="">









<%>
<% next="">

序 号
来访时间
IP地址
所用操作系统
所用浏览器类型
浏览的上一页


<%=i%>
<%=rst("visittime")%>
<%=rst("ipaddr")%>
<%=rst("usesystem")%>
<%=rst("browsertype")%>
<a HREF=<%=rst("lastpage")%>><%response.write>



<%
end sub
%>
<%
sub WriteBrowserInfo(userid)
Set Rst=OpenRst()
strSQL="select count(*) as VisitCount from AccessStat where userid='" & userid & "'"
Rst.open strSQL,Conn,3,1
TotalVisit=rst(0)
StrSQL="select BrowserType,count(BrowserType) as visitcount from AccessStat where userid='" & userid & "' group by BrowserType order by VisitCount desc"
Set Rst=OpenRst()
Rst.open StrSQL,Conn,3,1
%>








<%for i="1" to="" rst.recordcount="">







<%rst.movenext%>
<% next="">

序 号
所用浏览器类型
访问比例尺表示
访问次数


<%=i%>
<%=rst("browsertype")%>
<%setbar totalvisit="">





<%
end sub
%>
<%
sub InsertData(userid)
'处理浏览者信息
ExecUserInfo userid
'处理日统计
ExecDayStatic userid
'处理周统计
ExecWeekStatic userid
'处理月统计
ExecMonthStatic userid
'处理年统计
ExecYearStatic userid
end sub
%>
<%
sub ExecUserInfo(userid)
'处理浏览者信息
strRet=Request.ServerVariables("HTTP_USER_AGENT")
strArray=split(strRet,"(")
strRet=left(strArray(1),len(strArray(1))-1)
strArray=split(strRet,";")
strBrowserName=strArray(1) '浏览器
strUseSystem=strArray(2) '用户操作系统
strPrPage=Request.ServerVariables("HTTP_REFERER") '从何而来
if strPrPage="" then
strPrPage="http://" & Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME")
end if
strIPAddr=Request.ServerVariables ("REMOTE_ADDR") '用户IP地址
strSQL="insert into AccessStat(UserID,VisitTime,IPAddr,UseSystem,BrowserType,LastPage) "
strSQL=strSQL & "values ('" & trim(userid) & "',getDate(),'" & trim(strIPAddr) & "','"
strSQL=strSQL & trim(strUseSystem) & "','" & trim(strBrowserName) & "','" & trim(strPrPage) & "')"
conn.execute strSQL
end sub
%>
<%
sub ExecDayStatic(userid)
'处理每日的小时数据
strSQL="select * from DateStatic where dateid=datepart(dy,getdate()) and userid='" & userid & "'"
set rst=openrst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from DateStatic where userid='" & userid & "'"
conn.execute strSQL
for i=0 to 23
strSQL="insert into DateStatic values(datepart(dy,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update datestatic set num=num + 1 where dateid=datepart(dy,getdate()) and hourid= datepart(hh,getdate()) and userid='" & userid & "'"
conn.execute strSQL
end sub
%>
<%
sub ExecWeekStatic(userid)
'处理每周的日数据
strSQL="select * from WeekStatic where weekid=datepart(ww,getdate()) and userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from WeekStatic where userid='" & userid & "'"
conn.execute strSQL
for i=0 to 6
strSQL="insert into WeekStatic values(datepart(ww,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update weekstatic set num=num + 1 where weekid=datepart(ww,getdate()) and dayid+1= datepart(dw,getdate()) and userid='" & userid & "'"
conn.execute strSQL
end sub
%>
<%
sub ExecMonthStatic(userid)
'处理每月的日数据
strSQL="select * from MonthStatic where monthid=datepart(mm,getdate()) and userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from MonthStatic where userid='" & userid & "'"
conn.execute strSQL
for i=1 to 31
strSQL="insert into MonthStatic values(datepart(mm,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update monthstatic set num=num + 1 where monthid=datepart(mm,getdate()) and dayid= datepart(dd,getdate())"
conn.execute strSQL
end sub
%>
<%
sub ExecYearStatic(userid)
'处理每年的月数据
strSQL="select * from YearStatic where yearid=datepart(yy,getdate()) and userid='" & userid & "'"
set rst=openRst()
rst.open strSQL,conn,3,3
if rst.eof and rst.bof then
strSQL="delete from YearStatic where userid='" & userid & "'"
conn.execute strSQL
for i=1 to 12
strSQL="insert into YearStatic values(datepart(yy,getdate())," & cStr(i) & ",'" & userid & "',0)"
conn.execute strSQL
next
end if
strSQL="update YearStatic set num=num + 1 where Yearid=datepart(yy,getdate()) and Monthid= datepart(mm,getdate()) and userid='" & userid & "'"
conn.execute strSQL
end sub
%>

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本