假设currentmonth是06和currentyear 2017
我有一年和一个月的下降.. 如果我选择2017年和7月的月份比当前月份大 我怎么表明还没有数据
我现在的代码......它没有用......我是新手,不确定我这样做是不是......
$mystartingyear=2017;
$mystartingmonth=01;
$currentmonth=date("m");
$currentyear=date("Y");
if ($currentyear >= $mystartingyear && $currentmonth >= $mystartingmonth)
{
echo "Show Data";
}
else
{
echo "No Data yet";
}
我也尝试过这样的
$mystartingyear=2017;
$mystartingmonth='01';
$currentmonth=12;
$currentyear=2017;
//$currentmonth=date("m");
//$currentyear=date("Y");
if ($currentyear >= $mystartingyear && $currentmonth >= $mystartingmonth)
{
echo "Show Data";
}
else
{
echo "No Data yet";
}
它始终显示“显示数据”
答案 0 :(得分:2)
修改强>
从01
到07
的整数只要您不执行010
(包含3个整数)就可以了,因为它将表示为8
。但是,一旦您开始点击08
和09
八月和九月(可能是未知下拉列表中的内容),您就会有问题。
所以你引用它是最好的。
原始答案:
01
中的前导零:
$mystartingmonth = 01;
^^
被视为八进制。
需要引用:
$mystartingmonth = '01';
八进制参考:
<强>脚注:强>
如果您当前的代码失败了,那么其他一些东西让您失望。
您在问题中提到,您从下拉列表中使用此代码并且该代码未包含在内,也未包含该代码。
使用PHP的错误报告,设置为捕获并显示:
验证条件语句的逻辑; 必须才能满足这两个条件。
答案 1 :(得分:-2)
第一次回声后缺少分号,即代码应为
echo "Show Data";
然后每件事都应该可以正常工作,
日期(); php中的函数返回字符串中的日期,当您将字符串与整数进行比较时,它会隐式转换为等效的整数变量,如果您确定可以使用intvar();将变量转换为等效整数的函数。但在您的情况下没有必要。有关我的更多信息,我建议您阅读php manual 。