对于我们最近的项目,我们需要包括一个基于日期的计数器。
例如,在名为counter的mysql表中为answer.php设置了一个页面查看计数器。
每天访问answer.php的次数限制为150次(页面浏览量)。表counter将存储每个访问,当每日允许150结束时,它会发出警告,指出您超过了限制并阻止显示。
但我不知道如何每天都能做到这一点。我的意思是,当第二天开始时,计数器如何重置并从0开始。
发布于 2011-05-31 21:20:10
curdate函数返回当前日期,因此类似以下内容:
$sql = "SELECT count(*) from logintable where 'logindate' = CURDATE()";我意识到您的查询可能会涉及更多的表和字段。这是一个非常简单的未经测试的回答,我甚至不确定它是否有效。只是在这里大声地思考。
发布于 2011-05-31 21:24:40
来自@stefgosselin的答案是您要做的第一件事;然后,如果计数< 150,则插入一行。如果计数为150或更多,则拒绝查询并告诉他们已达到阈值。
发布于 2011-05-31 22:27:08
每个用户150页吗?或者不管是谁。如果它是每个用户的,那么它应该像向该用户的记录中添加一个计数器一样简单,并在每次有可计数的“请求”进入时保持递增,并根据需要查看该计数,以防止结果受到限制。
然后,由于用户无法回溯他/她的请求,在每天开始时(甚至通过一些触发器),您可以只更新您的表以将所有计数重置为零……
更新UserLoginTable设置RequestCount =0
好了。
https://stackoverflow.com/questions/6188169
复制相似问题