跟踪动态网站上的页面浏览量
Posted
技术标签:
【中文标题】跟踪动态网站上的页面浏览量【英文标题】:Tracking Page Views on dynamic website 【发布时间】:2013-04-26 17:28:26 【问题描述】:我正在尝试将某个帖子的浏览次数存储在我的数据库中。例如,我有一个页面 index.php,根据用户点击的文章,它会将他们带到某篇文章(仍然在 index.php 上):index.php?article_id=24。我试图弄清楚的问题是如何存储使用 php $_GET 方法查看帖子/文章的动态页面。我可以在 index.php 页面上做,但我不知道如何在每篇文章上做,因为它在技术上仍然在同一页面上 (index.php)。
这是我的页面计数器代码:
?php
$filename = "pageviews.txt";
$data = file_get_contents($filename);
settype($data,"integer");
$data++;
$f = fopen($filename,"w+");
fwrite($f,$data);
fclose($f);
//insert $data into db
?>
这是我在用户点击文章并检索文章 ID 后的代码:
<section class="large-12 columns">
<?php
$inner_article = mysqli_fetch_array(query($art_sql));
?>
<h1><?php echo $inner_article['art_title']; ?></h1>
<img src="<?php echo $inner_article['art_feature_image']; ?>" >
<p><?php echo $inner_article['art_create']; ?></p>
<p><?php echo html_entity_decode($inner_article['art_content']); ?></p>
<p><?php echo $inner_article['art_tags']; ?></p>
</section>
现在,我的最后一个问题是,这是否是存储页面浏览量的好方法,因为我有一个 txt 文件。如何在一个 txt 文件中存储多个页面浏览量(对于每篇文章)。这就是为什么我认为使用 php cookie 是一条更好的路线。
【问题讨论】:
为什么要同时计算文本文件和数据库中的页面?在将article_id
值插入数据库时,您具体遇到了什么问题?此外,您可能想要考虑的不仅仅是在数据库中拥有一个计数器。为什么不为每个页面请求以及时间戳添加一行到数据库,这样您就可以对数据进行更高级的查询(每天的请求,一周中某些天或一天中的几个小时的请求)。这将使您能够看到趋势,而不仅仅是原始数字。
为什么要使用txt文件?您已经与数据库建立了开放连接 - 为什么不使用它呢?
是的,我就是这么想的,但是如果我不先将其存储在文件中,您将如何编写代码来检索页面视图?
@tickerll 为什么你认为你需要先将它存储在一个文件中?您可以在该文件中执行哪些在数据库中无法执行的操作?
@Mike Brant,我在插入数据库时没有任何问题。我遇到的问题是计算每篇文章 index.php?article=# 的页面浏览量。现在,我可以让计数器只在 index.php 上工作,而不是在 index.php?article=#
【参考方案1】:
在 DB 中为您的帖子添加计数字段,并在显示文章时使用计数更新此字段
UPDATE myTable SET Column1=Column1+1
【讨论】:
以上是关于跟踪动态网站上的页面浏览量的主要内容,如果未能解决你的问题,请参考以下文章
dedecms网站 因点击了更新主页HTML-动态浏览,然后就打不开网站首页了,变成了404页面了,怎么办?