论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Asp教程
Tag:入门,文摘,实例,技巧,iis,表单,对象,上传,数据库,记录集,session,cookies,存储过程,注入,分页,安全,优化,xmlhttp,fso,jmail,application,防盗链,stream,组件,md5,乱码,缓存,加密,验证码,算法,ubb,正则表达式,水印,,日志,压缩,url重写,控件,函数,破解,触发器,socket,ADO,初学,聊天室,留言本,视频教程

ASP实例教程_怎么做历史查看记录详解

文章类别:Asp | 发表日期:2010-5-5 9:12:08

ASP实例教程_怎么做历史查看记录详解
网站有 一个文章系统,是以article.asp?id=1234 这样形式访问的。

我想要实现记录用户最近20个查看顺序记录,应该怎么做,谁能给个例子或代码参考吗?
用session/cookie这个不是重要的
像我对ASP不是很熟,不知道ASP有没有其他语言那样的操作列表的函数,例如添加、插入、删除、查找等等。
如果没有,能不能给个大概思路?
我理想的处理方式还是做为列表操作

historyView="12,13,16,26,111,2340"这样的。但是需要限制为指定长度,例如20个。满了20个就去掉最后一个,把新的加在最前面。

高手们帮帮忙啊
代码:
<%
dim id,xxxx
id = 20    '假如这是当前ID
xxxx = request.cookies("xxxx")    '取出所有ID
'判断是否重复,若没有记录该ID则加在最前面,若已经存在则不加
if instr("," & xxxx,"," & id & ",")=0 then xxxx = id & "," & xxxx
'删除超过20条的ID(从后面删除)
while ubound(split(xxxx,","))>20
    xxxx = left(xxxx,len(xxxx)-1)
    xxxx = left(xxxx,instrrev(xxxx,","))
wend
'记录新的ID集合
response.cookies("xxxx") = xxxx
response.write xxxx & "<br>"
response.write "循环输出ID:<br>"
dim i,t
t = split(xxxx,",")
for i=0 to ubound(t)
    response.write t(i) & "<br>"
next
%>
解:
一点启发
做个系统日志表,记录用户所有一切操作行为的。。。。。。。。每次用户操作直接往该日志表中添加记录。

统计某个新闻或帖子被哪些人访问了,要详细记录的话,可以一下方法处理。
当一个人浏览过某个页面后,把它记录并显示出来!!!

人少的话就直接把人往后累计,
直接在数据库加个字段,把人员的id往里面累,某人访问的时候,先检查那个字段里面是否包含这个人的id,如果包含了就不更新记录了,如果没有就更新记录,把这个人的id,记录在里面
这种方法局限性很大,只适合内部系统使用,人员要少,记录的信息太少,只能记录某个人看了,不知道什么时候在什么地方看的,不知道某个人一共看了多少次。
如果人多的话可以使用下面的方法来详细记录
人多的话就分记录
在另一个表里面做记录
建立一个新的表专门来记录详细的访问日志
你的文章的id,阅读时间,ip,阅读人的id,从哪个页面链接过来等信息
当访问者阅读的时候,根据需要有两种处理方法,
如果要每次都记录的话,那么就直接在表里面增加记录
另一种情况是一般的记录方式,
下次同一个人阅读的时候,你可以考虑重复用一条记录来记录同一个人同一篇文章的点击日志
如果不允许重复的话,就先在记录的日志表里面搜索一下,如果有同一个人看过同一个帖的就更新(数据表的结构有一点小的差别,里面要加字段,要搞一个第一次阅读,最后一次阅读时间,总计阅次数)
需要显示文章的阅读者的地方,查询那个日志表就可以了,这个在这里就不多讲了。

下面我想你该知道怎么搞了吧

视频教程列表
文章教程搜索
 
Asp推荐教程
Asp热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058