Mysql 如何计算Codeigniter中的页面浏览量并按IP地址限制计数?

Mysql 如何计算Codeigniter中的页面浏览量并按IP地址限制计数?,mysql,database,codeigniter,count,pageviews,Mysql,Database,Codeigniter,Count,Pageviews,我想计算人们在我的网站上浏览我的用户档案的次数 我希望在数据库中保留一个计数,并在用户刷新页面时停止计数的递增。受IP限制 我知道需要每天创建并清空ip地址缓存 有没有关于如何做到这一点的说明。有人能告诉我吗?创建数据库表: id | page_id | ip_address | views 读取用户的ip地址($\u服务器['REMOTE\u ADDR']),检查当前页面的表中是否存在ip地址,如果存在,则将视图列增加,否则创建新的记录设置视图。 如果视图>$x给他们一条简洁的信息,要求他们

我想计算人们在我的网站上浏览我的用户档案的次数

我希望在数据库中保留一个计数,并在用户刷新页面时停止计数的递增。受IP限制

我知道需要每天创建并清空ip地址缓存

有没有关于如何做到这一点的说明。有人能告诉我吗?

创建数据库表:

id | page_id | ip_address | views
读取用户的ip地址(
$\u服务器['REMOTE\u ADDR']
),检查当前页面的表中是否存在ip地址,如果存在,则将
视图
列增加,否则创建新的记录设置
视图
。 如果
视图>$x
给他们一条简洁的信息,要求他们不要太好奇

不是很难吗?;)

对于“当用户刷新页面时停止计数递增”部分;您的意思是,如果页面视图不是刷新(有人按F5),您只想增加计数?这几乎是不可能的,不要尝试

要清空数据库,请使用cronjob,如果您没有访问权限,请使用poormans cron(谷歌提供)

  • 您可以使用
    $this->input->ip_address()
    在控制器中获取用户的ip地址
  • 在保存ip的数据库中,用户第一次访问站点的时间和计数器
  • 如果时间小于24小时,请勿增加计数器
  • 如果时间大于24小时,则更新ip的时间并更新计数器
  • 获取计数器:
    $this->db->select_sum(“计数器”)->Get(“views_table”)并处理结果
    • 在存储用户的表中,添加表示视图计数的列
    • 每次访问您的配置文件时,您都需要增加此值
    • 按照giorgio的说明制作一个单独的表并存储IP地址,但添加一个DATETIME列
    • 每次访问您的配置文件时,您需要检查该表中是否存在此配置文件的IP地址:如果是,则不增加查看计数;如果不是,则插入一个包含IP地址、配置文件id和日期时间的新行
    • 每天使用cron设置一次清理作业,以确定跟踪的持续时间:删除所有1天、2天、一周之前的条目-任何您想要的内容-这是跟踪IP的时间长度。 这意味着,当相同的IP在x天后访问时,视图计数可能会增加,除非它仍然存在于数据库中

    您希望多久增加一次页面浏览量?我打开你的个人资料,计算增量。但如果我在第二天打开你的个人资料会发生什么?它是否应该增加页面浏览量?对不起,我的英语不好