else
部分未显示fromdate
& {date}中没有设置todate
if(isset($_GET['fromdate']) && (isset($_GET['todate'])))
{
$from = $_GET['fromdate'];
$to = $_GET['todate'];
$war = "and date between '$from' and '$to'";
}
else
{
$war = "";
}
答案 0 :(得分:1)
如果发送表单,则两个字段都存在。也许是空的,但是它们已经设置好了(isset
条件有效)。
改为使用!empty
。
if (!empty($_GET['fromdate']) && !empty($_GET['todate'])) {
$from = $_GET['fromdate'];
$to = $_GET['todate'];
$war = "and date between '$from' and '$to'";
} else {
$war = "";
}
答案 1 :(得分:0)
if(isset($_GET['fromdate']) && $_GET['fromdate'] != '' && isset($_GET['todate']) && $_GET['todate'] !='' )
{
$from = $_GET['fromdate'];
$to = $_GET['todate'];
$war = "and date between '$from' and '$to'";
}
else
{
$war = "";
}
答案 2 :(得分:0)
php函数isset($ someVar)用于确定是否设置了值。如果值为emty string / array,则返回true,为false ...无论值是什么,如果$ someVar有任何内容,isset()将返回true。
如果你想检查是否定义了var,而不是空字符串/数组......请使用!empty($ someVar)。
在php中有很多情况,其中lang一致性有点误导。