如何计算有多少人阅读文章

时间:2011-11-10 09:46:00

标签: php

我正在编写博客。我感兴趣的是如何在旁边添加一个计数器,以查看有多少人阅读了不同的文章。

据我所知,如果你有一个网站计数器,那么你通常会在数据库中保存IP和日期,所以你只计算一次这个人。

但是,我如何确保阅读特定文章的人只对该文章计算一次?

如果我要为每篇文章保存每个访问者IP,那么数据库会变得非常大。我现在想到可能为每个访客创建一个会话。在此会话中,我保存了Person阅读的每个ArticleID。所以在我更新数据库中的计数器之前,我检查它是否已存在于Session中 - 如果不是增量计数器并保存在Session中,否则不要。

这是正确的方法,还是有其他方法可以做到这一点?

5 个答案:

答案 0 :(得分:3)

这取决于您要保存的数据。你可以保存:

  1. 点击次数(统计所有人/机器人/ ......打开页面的人数),这会给读者带来虚假的印象,因为刷新会让我算两次。

  2. 唯一身份访问者数量,为用户创建会话。并在会话中仅增加一次计数器。这可以通过设置永久性cookie来改善,但对我来说看起来有点矫枉过正。顺便说一句,我可以打开文章而不读它!

  3. 与文章互动的人数。您可以进行一些javascript捕获(鼠标滚动,点击文章文本,......),将文本拆分为“阅读更多”等部分。

  4. 如果我是你,我会将其命名为“观看次数”,并使用解决方案2.并将其与Google Analytics(或类似解决方案)结合使用,以了解有关访问者的更多详细信息。

答案 1 :(得分:2)

我更喜欢使用Google AnalyticsAPI来完成此类任务。它很难第一次实施 - 但一旦实现它将帮助你完成任何项目。

你可以在这里阅读 - http://code.google.com/intl/en/apis/analytics/docs/gdata/home.html

答案 2 :(得分:2)

Google分析是更好的方式

但如果您想通过编程来完成,请按照步骤操作。

i)在您的表格中,根据特定文章的数据,只需添加一列no_of_view或您想要提供的任何内容..

ii)在页面的开头写下php for ::

的代码
     from the url you can get the id of current article.
     then from select query get the value of column no_of_view for particular ID (article)
     then fire a query for update that record for no_of_view column with +1

   If you want to get that more accurate then add ipaddress column and date also....

答案 3 :(得分:1)

我会在用户的浏览器上设置一个cookie并将其发送到服务器。如果cookie是新的,那么这是第一次阅读该文章的新用户。

答案 4 :(得分:0)

我认为,当用户点击文章更新数据库表字段名称中的列时,您可以执行ajax函数' number_of_click'根据文章ID和其他相关参考文献

并通过简单查询显示' SELECT no_of_click FROM article WHERE id =' {$ individual_article_id} ....'';