如何实现HTML 记录点击次数?

如何实现HTML 记录点击次数?,第1张

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

'下面存为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%>)

function pageStrCount(str) {

    var count = 0 // 统计字数

    var allStr = document.body.innerHTML // 网页文字包含标签

    allStr = allStr.replace(/<\w+?>/g, '').replace(/<\/\w+?>/g, '') // 过滤网页标签

    console.log(allStr)

    var reg = new RegExp(str, 'g') // 匹配的文字正则

    reg.exec(allStr)

    console.log(reg.lastIndex)

    while (reg.lastIndex) {

        count++

        reg.exec(allStr)

    }

    console.log('字数统计结果:', count)

}

传入想要统计的字符串,这段代码就可以了


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存