分别计算页面浏览量

Count Page views each separate

我想制作一个统计浏览量的系统,我有一个用于网站统计浏览量的系统,但是对于主站点来说这是一般的,不知道如何单独做,但看起来这个并不容易! 因此,我将向您展示我的旧系统以及新系统应该如何工作,所以到目前为止我得到了这个 运行

$guest_ip = $_SERVER['REMOTE_ADDR'];
$visits = mysql_query("INSERT INTO visitors(ip) VALUES('".$guest_ip."')");
$visitoronsite = mysql_query("SELECT * FROM visitors");
$onlinevisits = mysql_num_rows($visitoronsite);

?>
Visitors: <?PHP echo $onlinevisits; ?>

当然,跟踪谁和多少很好,但是因为我的网站有视频,每个视频都有 link 和 php ID,类似于 site/index.php?id=8 和那个页面,我想做的是在那个页面上放一个计数器,说很多人都在看这个link,我已经有了一个理论,但问题很少 所以我创建了一个名为 pageviews 的 table,其中有 2 列,一个 ip 和另一个 page,现在这是我的问题,我不能使用 unique 因为我想表明那个 IP 也看过这个 link 但它不会插入它,因为它将是唯一的,那么我该怎么做才能使一个 ip 仅针对该页面保持唯一?

在您的综合浏览量 table 上,您应该基于两列(ip 和视频或 link id)创建一个唯一索引。 你像这样在你的 table 上添加一个独特的:

ALTER TABLE `pageviews` ADD UNIQUE INDEX `ip_video_unique` (`ip`, `video_id`);

比您能够存储每个 IP 的唯一视频观看次数。

在该页面上,您可以通过执行以下查询来了解有多少 IP 观看了该视频:

SELECT * FROM `pageviews` WHERE video_id = x

此查询中的 x 是视频的 ID。在 site/index.php?id=8 的情况下,它将是 8.

最好将 IP 分开放在一个单独的 table 上,在其中存储具有唯一 ID 的访问者及其各自的 IP,并在页面浏览量 table 上引用唯一访问者 ID 而不是知识产权。稍后,这将允许您计算 table 上的视频观看次数和另一个 table 上其他内容的观看次数,但将访问者(及其 IP)汇总到单个 table 上。