0

使用 PHP 和 MySQL。试图弄清楚当用户单击按钮时如何更新数据库中的字段,只需将 +1 添加到当前值,并且只允许他们单击它/每 12 小时添加一次 +1。

到目前为止我所拥有的..

<p><h3 class="page-header">
     <?php _e('Title'); ?>
   </h3>
    <a href="Link" target="_TOP" class="btn btn-info btn-large"> 
     <?php _e('Button Text'); 
       $sql = "UPDATE `login_users` SET `MGV` = WHERE `MGV` = +1"; ?>
        &raquo;</a>
</p>

我要更新的表是“login_users”,该字段是“MGV”。我只希望它在当前表中添加 +1,并且在 12 小时内不允许另一个表。我也有一个时间戳字段,只是不知道如何在它再次允许之前添加时间限制。非常感谢任何帮助^__^

4

3 回答 3

1

Current_Timestamp()当他们单击按钮时存储。

$sql = "UPDATE `login_users` SET `MGV` = `MGV`+1 AND timestamp_field = Current_Timestamp() WHERE `USER_ID` = $user_id";

NOW() + INTERVAL 12 HOUR然后,您可以使用此处所述检查下一次:将 12 小时添加到 mysql 当前时间戳

于 2013-05-29T02:05:15.543 回答
0

您可以使用 JavaScript 函数通过 AJAX 进行测试,但如果用户停用 JavaScript?它应该在服务器端。

在运行该 UPDATE SQL 查询之前,您应该选择行,针对您获得的 last_updated 时间戳进行测试,并使用类似这样的东西

if ( strtotime('-12 hours') < $query['last_updated_time'] )
// RUN SQL code here
else
// Show a error to user 

我希望这个答案很清楚。

于 2013-05-29T02:02:28.003 回答
0

在您的 Php 脚本中,您应该从数据库中读取时间戳字段并验证它比当前时间戳早 12 小时。如果是这样,那么您可以继续进行已有的更新查询。

假设您在 datsbase 中的时间戳是 x,您应该验证 x+(60*60*12)<=time() 如果这是真的,您可以更新。希望这可以帮助!

于 2013-05-29T02:03:29.253 回答