生成html页后,怎样统计文章点击数?

生成html页后,怎样统计文章点击数?,第1张

方法很多,只要每次页面被访问时向服务器端某个特定的统计文件发出请求就可以了。可以使用:

脚本请求

<script src="http://www.yoursite.com/static.asp?id=***"></script>

图片请求

<img src="http://www.yoursite.com/static.asp?id=***"/>

活动框架请求

<iframe width="0" height="0" scrolling="no" src="http://www.yoursite.com/static.asp?id=***"/></iframe>

使用最为方便的就是脚本请求,因为服务器统计完成之后不需要返回任何数据,相对也最为安全。

以下介绍用数据库实现简单计数器

'下面存为count.asp

<%

Set conn=Server.CreateObject("ADODB.Connection")

conn.Open "driver={Microsoft Access Driver (*.mdb)}dbq="&Server.MapPath("count.mdb")

%>

<%on error resume next%>

<%sql="update count set hit=hit+1%><%conn.Execute(sql)%>

<%sql = "select * from count

set rs=conn.execute(sql)

%>

<%

'更新每周每日数据

lasthit=rs("lasthit")

tdate=year(Now()) &"-" &month(Now()) &"-" &day(Now())

if trim(lasthit)=trim(tdate) then

sql="update site set dayhit=dayhit+1 where id="&request("id")

conn.Execute(sql)

' response.write "success"

else

sql="update site set dayhit=1 where id="&request("id")

conn.Execute(sql)

' response.write "error"

end if

sql="update site set lasthit='"&tdate&"' where ID="&request("id")

conn.Execute(sql)

p_year=CInt(year(Now()))-CInt(year(lasthit))

p_month=CInt(month(Now()))-CInt(month(lasthit))

p_day=CInt(day(Now()))-CInt(day(lasthit))

period_time=((p_year*12+p_month)*30+p_day)

if cint(period_time)=<cint(7) then

sql="update site set weekhit=weekhit+1 where id="&request("id")

conn.Execute(sql)

else

sql="update site set weekhit=1 where id="&request("id")

conn.Execute(sql)

end if

%>

document.write('<tr><td width="100%">今日访问<%=rs("dayhit")%>次,本周访问<%=rs("weekhit")%>次,总访问<%=rs("hit")%>次</td></tr>')

<%rs.close

set rs=nothing%>

'用<script language="JavaScript1.1" src="count.asp"></script>在要统计的页面调用即可.

建立数据库:建一个count的MDB库,再建一个表count,表中字段为

hit 数字型

dayhit 数字型

weekhit 数字型

lasthit 日期型

静态

静态页面中显示文章被阅读的次数

在文章发布系统中采用服务器端生成静态页面的方法可以有效减轻服务器的负担,特别是对大流量网站非常有效。但是既然生成的是静态页面,生成时是什么样,显示就是什么样了,对于文章常见文章被阅读次数怎么显示呢?

经考虑,可用如下方案解决:

生成静态页面时会产生一个文章的id存到数据库中,那么我们在制作文章的模板的时候就可以在这个文章的id上做文章,文章模板包含以下语句:

<SCRIPT src="counter.asp?articleId=<%=#articleId#%>"></SCRIPT >

<b>说明:</b>

在利用模板生成文章时,把"#articleId#"进行模式匹配,替换为新添加的文章的id号。

counter.asp 文件为实现记数的asp文件

<%

'###################

'######开始#########

'BY 王向超

'###################

dim articleId,sqlStr,hits

articleId=int(trim(request.querystring("articleId")))

sqlStr="update articles set hits=hits+1 where articleId=" &articleId

'给文章点击数加1

conn.execute(sqlStr)

'读出文章点击数

hits=conn.execute("select hits from articles where articleId=" &articleId)(0)

%>

'打印出文章点击数

document.write(<%=hits%>)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7018134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-31
下一篇 2023-03-31

发表评论

登录后才能评论

评论列表(0条)

保存