我在房地产搜索表单上有一个字段,要求提供最小到最大卧室数。 PHP查询提取返回搜索结果是;
//check bedrooms
if(!empty($_GET["room_no_min"]) && is_numeric($_GET["room_no_min"])){
$query[] = "'No_Bedrooms' >= '".$_GET["room_no_min"]."'";
$room_min_val = $_GET["room_no_min"];
}
if(!empty($_GET["room_no_max"])){
$query[] = "'No_Bedrooms' <= '".$_GET["room_no_max"]."'";
$room_max_val = $_GET["room_no_max"];
}
哪个没问题,但是如果有人输入值5(分钟)到2(最大值),反之亦然,那么我希望它考虑到。我不想使用验证我宁愿查询可能是from =>min(room_no_min,room_no_max)
和<= max(room_no_min,room_no_max)
,但不知道如何重新编写查询。
答案 0 :(得分:2)
为什么不使用PHP max()和min()函数?
$room_min_val = min($_GET["room_no_min"], $_GET["room_no_max"]);
$room_max_val = max($_GET["room_no_min"], $_GET["room_no_max"]);
更新代码:
if(!empty($_GET["room_no_min"]) && is_numeric($_GET["room_no_min"])){
$room_min_val = $_GET["room_no_min"];
} // else throw an error maybe?
if(!empty($_GET["room_no_max"]) && is_numeric($_GET["room_no_max"])){
$room_max_val = $_GET["room_no_max"];
} // else throw an error maybe?
$room_min_val = min($_GET["room_no_min"], $_GET["room_no_max"]);
$room_max_val = max($_GET["room_no_min"], $_GET["room_no_max"]);
$query[] = "'No_Bedrooms' >= '".$room_min_val."'";
$query[] = "'No_Bedrooms' <= '".$room_max_val."'";