首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只更新一次mySQL中一组数据的策略

只更新一次mySQL中一组数据的策略
EN

Stack Overflow用户
提问于 2016-04-12 11:49:23
回答 2查看 679关注 0票数 0

我的网站有一个每日的问题,并根据选择正确的答案,用户获得的经验点(XP)。

我的mySQL数据库中有两个表。1)问题库2)用户

  • 每个问题都有一个xp_value (在表问题库中)
  • 每个用户都有xp (在表用户中)

现在,一旦他们回答了正确的问题,我就有一个if语句和这个查询:

代码语言:javascript
复制
$mysqli->query("UPDATE users SET xp = xp + '$xp_value' WHERE id = '$userID'");

这样做,当然,我成功地更新了用户xp到一个新的值,但是问题是,当然,用户可以返回并回答这个问题无数次,以增加他/她的xp。

我正在寻找一种编码策略,只更新xp一次,而其他时候,用户试图回答它不会给xp的问题,只要他/她愿意,就重新检查这个问题。

谢谢你的时间,oliver_foxx

EN

回答 2

Stack Overflow用户

发布于 2016-04-12 11:53:46

记录一天吗?就像你说的那样,XP只是在上一次更新不是“今天”的时候才会被授予。

代码语言:javascript
复制
$mysqli->query("UPDATE users SET xp = xp + '$xp_value', `day` = DATE(NOW()) WHERE id = '$userID' AND `day` < DATE(NOW()) ");
票数 0
EN

Stack Overflow用户

发布于 2016-04-12 11:56:22

您将需要一个新的表,您可以说:用户X回答了问题A的时间和时间。

在进行更新时,您可以轻松地检查用户是否已经正确地回答了问题。

您将有两个参考表:用户和问题。试题表将包含每个问题的经验。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36572439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档