我有一个报告表,我只需使用下面的代码计算点击次数。
// Get hits
$hits_query = mysql_query("SELECT COUNT(*) AS `count` FROM `reports` WHERE `stuff_id` = ".$row->id."");
$fetch_hits = mysql_fetch_array($hits_query);
$hits = $fetch_hits['count'];
该代码效果很好,完全符合我的要求但我现在想要的是如何获得独特的点击量?
在我的报告表中,我存储了每个访问权限,因此stuff_id
上的每个用户群都有多个日志。在我的报告表中,我将日期保存为每个报告的01-23-2013,以及用户ip和stuffed
,每24小时从2更改为1。
答案 0 :(得分:0)
您需要一个唯一标识用户的字段。我假设我的例子是user_ip
。改变这个:
$hits_query = mysql_query("SELECT COUNT(*) AS `count` FROM `reports` WHERE `stuff_id` = ".$row->id."");
对此:
$hits_query = mysql_query("SELECT COUNT(DISTINCT `user_ip`) AS `count` FROM `reports` WHERE `stuff_id` = ".$row->id."");
注意: mysql库自PHP 5.5起将被弃用,并在未来的PHP版本中删除。开始计划远离它的迁移是个好主意。
答案 1 :(得分:0)
你可以这样做:
$hits_query = mysql_query("SELECT COUNT(DISTINCT `user_ip`) AS `count` FROM `reports` WHERE `stuff_id` = ".$row->id."");
或者,如果您想要一个独特的回复,您可以这样做:
$user-IP = "Put here the ip adress of the user that you want";
$hits_query = mysql_query("SELECT COUNT(*) AS `count` FROM `reports` WHERE `user_ip` = ".$user-IP."");