美篇访问统计 其他|完整的访问统计程序(二  程序篇)

2017-10-09 新闻资讯 阅读:

/*

  原创:豆腐

  请大家在转载和使用的时候  保留这条信息

*/

/* 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"><%=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" 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

%>



美篇访问统计 其他|完整的访问统计程序(二&#160;&#160;程序篇)

http://m.hzclsc.cn/anzhuo/2533.html

推荐访问:

新闻资讯推荐文章

推荐内容

上一篇:windows组件在哪如何添加win10|Windows组件在哪?如何添加windows组件 下一篇:【wap是什么东西】WAP中的ASP技术二