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

PHP 连胜或连败的的记录怎么实现

PHP 连胜或连败的的记录怎么实现

PHP
当年话下 2019-03-18 15:26:44
应用场情是这样需要记录每天的连胜或连败记录。每当胜或败中断需重新清零重新计算 用的是MYSQL但是不知道怎么设计表段了。求助一下
查看完整描述

5 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

单独建表最好,比如叫winscount, 字段:id, userid, wins, time
根据这局胜利与否,查找之前的winscount记录, wins小于0是连败,大于0连胜。
胜利后最新一条winscount记录wins大于0就说明连胜,就wins+1,
失败后最新一条winscount记录wins大于0,则说明连胜中断,就创建一条wins为-1的新纪录。
失败后如果最新一条winscount记录wins小于0,就直接wins-1,如果大于0,说明连败中断,创建新winscount纪录wins=1

wins你可以拆分为两个字段都行,一个数字,一个表示胜败。
这就是个思路,可以参考,细节可以优化完善。这样设计还有个好处是,可以追溯历史记录,比如年度最高连胜,季度最高连胜什么的...
题外话,连胜我觉得不应该按天限制。

查看完整回答
反对 回复 2019-03-18
?
肥皂起泡泡

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

这个和每天签到是一个业务逻辑
1)一个用户id
2)一个连胜或者连败的次数
3)一个最新的状态(胜或者败)
4)时间
问题解决

查看完整回答
反对 回复 2019-03-18
?
慕森卡

TA贡献1806条经验 获得超8个赞

可以用一个字段去记录连胜场数,一个字段去记录胜利/失败时间,然后程序首先判断如果已过了一天,则连胜场数置为0,再判断如果胜利则连胜场数+1,失败则清0;再加一个表存胜利或者失败记录即可。

查看完整回答
反对 回复 2019-03-18
?
倚天杖

TA贡献1828条经验 获得超3个赞

应该有个用户表 用户挑战(或比赛)事件记录表 再是 记录连胜的记录表 具体字段自己思考

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

添加回答

举报

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