继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

文章的点击访问怎样实现统计

AI人工智能视频入门
关注TA
已关注
手记 330
粉丝 93
获赞 398

“添加这个功能,http://www.cnblogs.com/insus/archive/2013/05/30/3107681.html  嗯,基本上符合预期的要求,不过,你还得要为网站每一篇文章的点击做统计。”

看到这个要求,你也许也会首先想起,去数据库的存储文章的表中,再添加一个字段,如[Hits],写一个存储过程来更些此字段。

CREATE PROCEDURE [dbo].[usp_Article_UpdateHit](    @Article_nbr INT)ASUPDATE [dbo].[Article] SET [Hits] = [Hits] + 1 WHERE [Article_nbr] = @Article_nbr

View Code


然后去网站的浏览文章的页面,在Page_Load事件中,执行刚才写好的存储过程。
基本上这个意思。

不过,Insus.NET不是跟上这样想的。最始码是实现一个功能,不想修改太多地方,前端网页也不想改,存储文章的表也不想去改它。
不会吧? 是的,Insus.NET就是这样想的。

文章的访问统计怎样实现?下面是Insus.NET的方法:
重新创建一张表,大约这样子:

CREATE TABLE [dbo].[Article_Visit_Info](    [avi_nbr] INT IDENTITY(1,1) PRIMARY KEY NOT NULL,    [Article_nbr] INT NOT NULL FOREIGN KEY REFERENCES [dbo].[Article] ([Article_nbr]),    [Visit_Date] DATETIME NOT NULL DEFAULT(CURRENT_TIMESTAMP))

View Code


创建好表之后,再创建一个存储过程,是用来存储当有文章点击访问时,插一笔记录入刚才的表中:

CREATE PROCEDURE [dbo].[usp_Article_Visit_Info_Update](    @Article_nbr INT)ASINSERT INTO [dbo].[Article_Visit_Info] ([Article_nbr]) VALUES (@Article_nbr)

View Code


写到这里,你会问题,Insus.NET你是怎样知道文章被点击访问的? 问得及时,Insus.NET下面就是要解决这个的。由于原来写好的程序,获取每一篇文章,均是By PrimaryKey 来读取,也就是以主键作为参数获取,因此Insus.NET只是在数据库修改一下这个存储过程即可,添加高亮部分的SQL语句,就把用户的要求完成了。


 当然有了这个表的信息,我们就可以统计出每篇文章的点击访问量,还可以每天,每星期,每月,每季度或是每年的访问量进行统计。具体还要看客户的要求了。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

相关阅读

JS-Web-API-存储