クエリの価格帯を定義する変数は2つあります。私が解決しようとしている問題は、これらが設定されていない場合です。その場合、すべての行を表示したい(下境界がNULLの場合は1から、上境界がNULLの場合はmax(価格)まで)。MySQLi:入力が空の場合は価格帯を選択
私はifnull
で試しましたが、成功しませんでした。
$priceFrom = $_POST['priceFrom'];
$priceTo = $_POST['priceTo'];
if(is_null($priceFrom) || is_null($priceTo)){
$priceFrom = 0;
$priceTo = 0;
}
$mass = array();
foreach($data as $current){
$sql = "SELECT p.price,
p.type,
p.area,
p.floor,
p.construction,
p.id as propertyID,
CONCAT(u.name, ' ',u.family) as bname,
p.type as ptype,
n.name as neighborhoodName,
CONCAT(o.name,' ',o.surname,' ',o.family) as fullName
FROM `property` p
LEFT JOIN `neighbour` n ON p.neighbour = n.id
RIGHT JOIN `owners` o ON p.owner = o.id
LEFT JOIN users u ON p.broker = u.id
WHERE `neighbour`= '$current'
AND `price` BETWEEN ifnull('$priceFrom', '1') AND ifnull('$priceTo','2000000')
";}
試してみてください。 – 1000111
サンプルデータも役立ちます。 – Steven
自分の投稿を編集してコードを追加してください。 – andrags