0

我在房地产搜索表单上有一个字段,要求提供从最小到最大卧室数量。返回搜索结果的 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)不确定如何重新编写查询。

4

1 回答 1

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."'";
于 2013-03-13T16:00:01.063 回答