php签到代码
1. php 签到时间判断,该怎么写出源代码,比如现在签到了,过了晚上24点就可以再签到一次
首先对需求分析一下:
根据当前时间判断,是否可以签到。(对吧?)
所以你需要有一个变量用来储存他上一次签到的时间,具体到某一天。在签到的时候取这个字段然后判断就行了。
应该要用到的是strtotime() 和date() 这两个函数。
(有点晚了提供下思路睡了,楼主可以根据具体的数据库结构适当修改)
2. php如何统计用户连续签到多少次
查询表时加个日期变量字段,然后倒序过虑计算签到天数
如MYsql:
selectcount(*)连继签到天数from(
selecta.签到日期,(@i:=DATE_ADD(@i,INTERVAL-1day))todayfrom签到表ainnerjoin
(select@i:=max(签到日期)from签到表where签到日期=curdate()or签到日期=DATE_ADD(curdate(),INTERVAL-1day))b
orderbya.签到时间desc
)cwheretoday=签到日期
3. php 想做个签到,但是怎么判断连续3天 连续7天 连续30天签到过啊。。思路是有 但是MYSQL那边的语句。
数据表里存储两个字段,一个int存时间戳,一个int存签到计数。每次签到发生时,php页面做判断,计算本次签到时间戳与系统记录的最后一次签到时间戳之差,超过3600*24,则将计数修改为零,否则+1。
sql语句就不写了吧,就一个update的事情。。。
4. 请问下那个PHP每日签到时怎么实现的!
以淘宝网领取淘金币的签到系统为例:
目标:
第一天签到增加5个积分;第二天连续签到则增加8个积分;第三天连续签到,增加11个积分,第四天连续签到,增加15个积分;第五天连续签到,增加19个积分;第六天连续签到,增加24个积分;第七天连续签到,增加29个积分;第八天以后的连续签到,都增加29个积分。连续签到断开,则积分从第一天开始计算。
思路:
这个比较简单,思路是这样的:
在用户表里添加一个连续登录的字段,如果每天连续登录自增1,如果超过24小时的话就直接归0.
再增加一个最后登录的时间,格式是时间戳的。
首先判断最后登录的时间和现在的时间的时间差值是多少,函数如下:
<?php
function checkTime() {
if (time() - 最后登录时间 > 24*60*60 ) { // 判断时间是否大于24小时
// 让字段归0
}
}
?>
这个样子就可以了。
至于加分就简单了。
如果字段值为:
1就加5,
2就加8,
3就加11,
4就加15,
5就加19,
6就加24,
大于7就加29