Asp中如何统计flash的点击率
时间:2006-09-25 来源:blowing
今天一朋友让我帮他做一个实现flash点击率统计功能的网页,我想了一下,给他写了以下的文档。
一、建立数据库
这里用access来做。建立一个名字为database.mdb的数据库文件,放在/db目录下。数据结构如下:
record_id:自动编号字段
flash_id:文本
ip:文本
page:文本
browser:文本
system:文本
visit_time:文本
二、统计文件
建立统计文件,命名为counter.asp
dim conn_access,connstr_access,db_access
db_access=Server.MapPath("/")&"\db\database.mdb"
Set conn_access = Server.CreateObject("ADODB.Connection")
connstr_access="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &db_access
conn_access.Open connstr_access
dim ip,page,ts,i,t,tarr,browser,system,flash_id
flash_id=request(“flash_id”)
'on error resume next
ip=Request.ServerVariables("REMOTE_ADDR")
page=session.SessionID
ts=Request.ServerVariables("HTTP_USER_AGENT")
if instr(1,ts,"IE")>0 then
tarr=split(ts,";")
t=instr(1,tarr(2),")")
if t>0 then tarr(2)=left(tarr(2),t-1)
browser=tarr(1)
system=tarr(2)
elseif instr(1,ts,"Netscape") then
browser="Netscape"
else
t=instr(1,ts," ")
browser=left(ts,t-1)
end if
if err then browser=left(ts,50)
sql="insert into visit_log(flash_id,ip,page,browser,system,visit_time) values('"&flash_id&"','"&ip&"','"&page&"','"&browser&"','"&system&"','"&now&"')"
conn_access.execute(sql)
三、显示
在显示页面flash_list.asp加入
sub counts(flash_id)
dim rs,sql
set rs=server.CreateObject("adodb.recordset")
sql="select count(*) from visit_log where flash_id=’"&flash_id&”’”
rs.open sql,conn_access
counts=rs(0)
rs.close
set rs=nothing
end sub
在统计数的地方用变量值counts表示,如:点击率:<%=counts(flash_id)%>
播放链接:<a href="play.asp?flash_id='"&rs("id")&"'">
四、执行
在播放页面play.asp中加入以下代码:
flash_id=request("flash_id")
server.Execute("counter.asp?flash_id=’"&flash_id&”’”)
不知道各个网站是怎么实现这个功能的呢?