0

我的帖子

个人中心

设置

  发新话题
补签功能
1.当天之前没有过签到,那么只能补签到当天的前一天。
   例如今天11号,之前无签到次数,那么就只能补签到10号,11号必须是签到。
2.当天之前有过签到,那么就可以补签到当天,切换到次日,不能补签。
   例如今天11号,之前有过1次签到,那么就可以补签到11号,(然后PC系统时间调整为12号时,不能补签)。括号里是我不懂的
   地方,并没有判断出来如何达成这个条件。
注意: 如果没有限制这些条件其实就是不管今天是几号,点1次补签就都是从次数为1开始累加。
   以下贴出我的代码思路,并没有实现,因为两种情况互斥了,还请大佬们看完我的思路帮我指点一下迷津。
   if (当日Day - 1 > 签到总次数) {                     if (当日Day > 签到总次数) {
           执行补签                                                       执行补签
      } else {                                                           } else {
           不能补签,请签到!                                       不能补签,请签到!
      }                                                                     }



好晕,,等我吃了午饭来慢慢看



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
绕来绕去,其实就是个每日签到 + 补签 吧,

然后必须保证,以前每天都签到了的,不需要再补签吧。

还有什么需求吗?



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
比如今天是1月12日,签到记录为:1,2,3,4,10,11,12
那么就只能补签 5-9

如果签到记录是:1 - 12 每天都已签到,
那么就不能再补签了。

如果签到记录是:1,2,3,7,8,9
缺签的号数是:4,5,6 和 10,11,
这个怎么处理呢?依然所有的都能补签吗? 还是只能补签10,11 ?



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
引用:
原帖由 七彩极 于 2018-1-12 17:31 发表
比如今天是1月12日,签到记录为:1,2,3,4,10,11,12
那么就只能补签 5-9

如果签到记录是:1 - 12 每天都已签到,
那么就不能再补签了。

如果签到记录是:1,2,3,7,8,9
缺签的号数是:4,5,6 和 10,11,
这个怎么处理呢?依然所有的都 ...
逻辑是这样的

有一段代码,执行顺序签到(与今天是几号没关系),执行1次,签到次数就会加1,这样以此类推,到了每个月1号执行时,签到次数再从1开始。

1.怎么样判断,才能只签到至今天(今天的12号作为示例)为止。

2.怎么样判断,才能只签到至今天(今天的12号作为示例)的前一天为止。



用 getdate()函数的 mday值 与 已签到的次数作比较就解决了,我理解的就这么简单,OK?



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
引用:
原帖由 七彩极 于 2018-1-12 18:38 发表
用 getdate()函数的 mday值 与 已签到的次数作比较就解决了,我理解的就这么简单,OK?
我也是这么比较的,但是在最后一个环节就卡住了。 比如补签到了今天12号,到了明天13号的时候是点补签是不成功的,但是我做的程序 点补签却可以成功。不知道哪个环节出错了



补签到了今天12号,到了13号就不应该出现“补签”两个字了吧,而是正常的“签到”吧



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
引用:
原帖由 七彩极 于 2018-1-12 20:22 发表
补签到了今天12号,到了13号就不应该出现“补签”两个字了吧,而是正常的“签到”吧
这个问题我解决了。大神,我想问你另一个问题,我有点不懂。   每到一个新的月份 就把 签到次数归零,这应该怎么操作?   比如今天1月13号,我点了1次签到,签到次数+1。 时间切换到2月15号时点1次签到,签到次数应该显示为1,切换到3月26号,点1次签到 还应该是显示签到次数为1。 这个怎么判断?



引用:
原帖由 a944409629 于 2018-1-13 16:44 发表

这个问题我解决了。大神,我想问你另一个问题,我有点不懂。   每到一个新的月份 就把 签到次数归零,这应该怎么操作?   比如今天1月13号,我点了1次签到,签到次数+1。 时间切换到2月15号时点1次签到,签到次数应该显示为1,切换 ...
这个光靠程序还真难解决。。只有依靠数据库的记录了,记录他上次签到的年月日,然后通过程序判断。



宝剑厉不厉害,要看它的主人是谁,不信来PHP版块看看~!
‹‹ 上一贴:【教程经验】php错误处理异常处理控制函数 ...   |   下一贴:【提问】thinkphp3.2 U方法 nginx下的问题 ››
  发新话题
快速回复主题
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 友情链接 |意见反馈 | 网站地图
Copyright©2005-2018 51CTO.COM
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系:bbs@51cto.com