Re: [请益] 登入累加

楼主: shadowjohn (转角遇到爱)   2015-04-07 17:11:14
※ 引述《vincent20384 (风之水漾)》之铭言:
: 各位大大好
: 目前我想写一个功能是能够记录每天登入的会员
: 是连续登入了几天
: 然后依据第几天跑出不同的讯息这样
: 可以给我一点方向吗?
假如你有个资料表随时记使用者登入时间
那你就可以
select distinct user,date_format(login_date,'YYYY-mm-dd') as date from
login_history
where
user = '羽山'
group by date_format(login_date,'YYYY-mm-dd')
order by login_date desc
limit 6
这样应该就可以出现
user date
羽山 2015-04-07
羽山 2015-04-06
羽山 2015-04-04
...
那你就可以开活动游戏
连续登入日 ,活动
0 = 只有当日登入,下去领500
1 = 送草莓
2 = 送橘子
3 = 送蕃薯
4 = 送咖哩饭
5 = 送直升机
6 = 送过气女艺人照片
接下来,你需要一个简单的函式,把刚才查出的使用者资讯,看他到底连续登入了几天
思考方向就是先从今日往前推,看你活动有几天
2015-04-07 = 0 (当日)
2015-04-06 = 1
2015-04-05 = 2
2015-04-04 = 3
...
然后就把刚才使用者的表,跟这个活动表,作循环的比较
如果比对失败,就取那笔资料
function return_keep_login_days($user_login_data)
{
$keep_logins = 0;
//Todo : 如果使用者的第一笔也不是当日,就跳出
//懒的写了
//
//下面的7假设是活动数量
for($i=0 ; i < 7 (同 count($活动)) ; i++)
{
if($user_login_data[$i]['date'] != $活动[$i]['date'] )
{
return i;
}
}
}
这样此 i 就等于回应了使用者最后一次登入的连续日期的活动 id
大概是这样吧~ :)
作者: vincent20384 (风之水漾)   2015-04-07 17:54:00
!!!!太棒了~我大概有想法了~非常谢谢你^^感恩

Links booklink

Contact Us: admin [ a t ] ucptt.com