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 に答える