我的网站上有一个字段,它更新mysql数据库中的一个值。我想使它,所以用户只能更新的价值每3天。我该怎么做呢?
以下是我迄今编写的代码:
<?php
if(isset($_POST['Update'])){
$UpdateHWID = $_POST['HWID'];
$sql = $con->query("UPDATE users SET HWID = '{$UpdateHWID}' where UserID = $User");
echo "HWID Updated Successfully!";
}
?>发布于 2016-01-10 17:51:33
在db (last_update) type=数据中创建新行
//return to sql last_update (select db ...)
$current_Data = date ('Y-m-d');
$current_Data_time = strtotime ($current_Data); //convert data to time
$last_update_p3 = strtotime ("+3day", strtotime($last_update));
$last_update_p3 = strtotime ($last_update_p3);//convert data to time
if($current_Data_time <=$last_update_p3)
{
$sql = $con->query("UPDATE users SET HWID = '{$UpdateHWID}' , last_update='{$current_Data}' where UserID = $User");
//update last data with current date
}
else
{
//It has not gone three days
}发布于 2016-01-10 17:12:38
使用mysql中的最后更新字段(上次更新的日期和时间),并在进行更新之前检查它。如果满足您的条件,那么提交更新并更新该时间域,如果没有向用户显示错误的话。
发布于 2016-01-10 18:01:15
根据Pinx0,如果向用户表中添加一个新列(其中包含上次更新的日期),则可以创建一个条件。例如:
ALTER TABLE `users`
ADD `lastUpdated` DATE NOT NULL;现在,您可以向现有的查询添加一个条件,如下所示:
UPDATE `users`
SET `HWID` = '{$UpdateHWID}',
`lastUpdated` = NOW()
WHERE `UserID` = $User AND 2 < DATEDIFF(CURDATE(),`lastUpdated`);https://stackoverflow.com/questions/34708342
复制相似问题