如何在PHP查询中获取更大的值并使用它

时间:2013-03-13 15:55:11

标签: php

我在房地产搜索表单上有一个字段,要求提供最小到最大卧室数。 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),但不知道如何重新编写查询。

1 个答案:

答案 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."'";