在某段时间之间更新mysql行

时间:2017-09-13 12:19:50

标签: php mysql mysqli

好的所以我正在尝试制作一个功能,以便我可以更新和切换"欢乐时光"在我的数据库中。

这样做的原因是用户在此期间获得了额外的东西。

所以我想要的是......星期五和星期六的18:00到21:00之间的欢乐时光是一周中的任何一天,或者是他们需要关闭的几天。日期和时间只是表明我需要它的例子。

function happy_hour(){
global $conn;
$getDay = time("l");
$getHour = time("H:i");
if ($getDay == "Wednesday" && $getHour > "12:00")  {
    mysqli_query($conn, "UPDATE Game SET happy_hour = 'yes' WHERE id='1' LIMIT 1");
}   
}

happy_hour();

我不确定它是否可以通过php时间函数完成,或者是否需要在mysql中存储时间来访问然后获取日期和时间,如果在设置为on之间的2天中的任何一天关闭。

先谢谢。

2 个答案:

答案 0 :(得分:0)

如果您的服务器和数据库服务器中的时间相同,那么一切都会好的。如果不是你必须设置时间,并设置bettwen天你可以使用preg_match像

$ day = time(" l");

$ hour = time("嗨");

if(preg_match($ day,' / Friday | Saturday /')&& $ hour> = 1800&& $ hour< = 2100){ 在这里做点什么 }

答案 1 :(得分:0)

$day = gmdate('l');
$hour = gmdate('H:i');

if ($day == "Wednesday") {

if ($hour >= "14:26" && $hour  <= "18:27") {
$isextra = true;
}else{
$isextra = false;   
}
}

时间或只是示例,但让它工作,只是在xp检查为true或false的活动的情况下。

if(isset($_POST['getXP'])) {
if($isextra == "true") {
$xpgained = 50;
}else{
$xpgained = 20;
}

mysqli_query($conn, "UPDATE Account_Character SET rank_xp=rank_xp + '$xpgained' WHERE username='$username' LIMIT 1");
}

这只是我制作的样本,希望它在真正进入之前起作用。

谢谢你们:)