Php 如何循环+;7天,并显示基于该循环的数据
我的代码有问题,我想显示Php 如何循环+;7天,并显示基于该循环的数据,php,Php,我的代码有问题,我想显示Tadarus,Kajian,Edukasi和Umum。例如,我有一个变量$startdate='2019-09-20' 如果$startdate+7天,我想回显Tadarus 如果$startdate+14天,我想回显Kajian 如果$startdate+21天,我想回显Edukasi 如果$startdate+28天,我想回显Umum 然后,如果最后一个回波是Umum,我想再次显示来自Tadarus的数据。这是我的代码: date_default_timezone_
Tadarus
,Kajian
,Edukasi
和Umum
。例如,我有一个变量$startdate='2019-09-20'
如果$startdate+7天
,我想回显Tadarus
如果
$startdate+14天
,我想回显Kajian
如果
$startdate+21天
,我想回显Edukasi
如果
$startdate+28天
,我想回显Umum
然后,如果最后一个回波是
Umum
,我想再次显示来自Tadarus
的数据。这是我的代码:
date_default_timezone_set("Asia/Jakarta");
$getdate = date("Y-m-d");
if (strtotime("+7 day", $getdate)) {
echo "Tadarus";
}elseif(strtotime("+14 day", $getdate)){
echo "Kajian";
}elseif(strtotime("+21 day", $getdate)){
echo "Edukasi";
}elseif(strtotime("+28 day", $getdate)){
echo "Umum";
}
你为什么不这样做呢:
function echoBasedOnDay($date) {
if ($date === date('Y-m-d', strtotime("+7 days"))) {
echo "Tadarus";
} elseif($date === date('Y-m-d', strtotime("+14 days"))){
echo "Kajian";
} elseif($date === date('Y-m-d', strtotime("+7 days"))){
echo "Edukasi";
} elseif($date === date('Y-m-d', strtotime("+7 days"))){
echo "Umum";
}
}
echoBasedOnDay(date('2019-09-27')); // You can pass any date you want in here as the function's parameter
请告诉我这是否对您有帮助。您的代码中没有使用
$startdate
…很抱歉,我复制了变量错误调用strotime()
将返回unix时间戳,因此第一个if
将始终计算为true
。我真的不知道你想在这里做什么?如果你从获取当前日期开始,你到底想与什么进行比较?现在,您只需检查是否从strotime()
中获得“truthy”值。我所做的就是根据日期和当前日期的差异显示数据+7天、+14天、+21天和+28天。实际上,当前日期将作为注册日期保存到数据库中,如果注册日期为+7天,则用户必须执行tadarus操作,依此类推