php - mysql 查询一个用户连续签到天数
过去多啦不再A梦
过去多啦不再A梦 2017-05-16 13:07:47
[PHP讨论组]

我有个平台是有签到功能的,我需要判断这个用户连续在这个平台上签到多少天了 给他不同的积分。
例如今天是4月26号,从4月15号开始每天都签到了,那就是连续签到12天,4月13号也签到了,但是4月14号没签到,
mysql语句怎么写呢

过去多啦不再A梦
过去多啦不再A梦

全部回复(2)
PHP中文网

一般都会存储一下连续签到的天数的,如果没有存储,我们以前做过的一个方式是我们签到是采用时间戳存储的然后获取签到的时间戳,一般我们都是获取一个月的(如果这个月签到满了,就在获取一次前一个月的),然后在 php 里面循环一下天数计算出来的。后来这种方式比较慢,我们就单独记录签到天数了

大家讲道理

你的业务规则里,应该有个连续 x 天的给多少分的上限,比如连续天>=20则给多少积分。

那么我们记住这个 x,在db里 select * from tb where uid = 10086 order by dt desc limit x

然后在程序里判断最多连续了多少天,加上对应的分数即可。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号