为了账号安全,请及时绑定邮箱和手机立即绑定

TP3.2.3 + MYSQL 关于签到功能设计的问题

TP3.2.3 + MYSQL 关于签到功能设计的问题

PHP
杨__羊羊 2019-03-10 21:36:11
目前两张表:(主表每个用户一条记录,副表每次签到都会添加一条) 主表:id(自增) | uid(用户id) | days(签到总次数) | con_days(连续签到次数) | sign_time(最后签到时间)days:每次签到都+1。con_days:根据 sign_time 字段来判断昨天是否已签到,签到了就+1,否则就保存为 1。 副表:id(自增) | uid(用户id) | create_time(签到时间) 签到功能需求是这样的:用户每天允许签到一次,本周连续签到满勤奖励积分(这里指的是每周只要连续签到满7天都会有积分奖励,中途断签是不奖励) 该如何统计本周是否连续签到 7 天,表设计有哪些问题?
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

感觉一张表就够了,最后签到日期,连续签到总数。
签到,先判断最后签到日期是不是昨天?是昨天,连续签到总数加+1;不是昨天,连续签到总数变成1。
至于奖励问题,很好算,比如说周日这天,最后签到日期是昨天,然后连续签到总数-6大于等于0,那就说明满足奖励了。

查看完整回答
反对 回复 2019-03-18
?
PIPIONE

TA贡献1829条经验 获得超9个赞

想了一下目前还是在副表中查询本周的记录,如果记录等于7条表示已经本周签到了7天,实在想不到更好的方法了。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 514 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信