我正在尝试根据访问者所做的过滤器来过滤我的数据库。
$query = "select * from Sheet1 where";
//filter query start
if (!empty($brand)) {
$branddata = implode("','", $brand);
//testing removing query
$query .= " Brand in('$branddata') and";
}
if (!empty($model)) {
$modeldata = implode("','", $model);
//testing removing query
$query .= " Model in('$modeldata') and";
}
/* if(!empty($model) && empty($brand)){
} */
if (!empty($spower) && !empty($epower)) {
$query .= " Power>='$spower' and Power<='$epower' and";
}
if (!empty($sprice) && !empty($eprice)) {
$query .= " Doors>='$sprice' and Doors<='$eprice'";
}
$rs = mysqli_query($conn, $query) or die("Error : " . mysqli_error($conn));
我希望得到的结果是一个工作正常且语法正确的sql查询。例如select * from Sheet1 where Doors>='$sprice' and Doors<='$eprice'
,如果访问者按价格过滤的话。
目前,我的代码只是简单地将某个字符串添加到变量中。这意味着如果你不按模型过滤,它会跳过模型,因为模型变量是空的。问题来了,如果你按电源过滤,SQL就会变成select * from Sheet1 where Power>='$spower' and Power<='$epower' and
。显然,这不起作用,所以我需要帮助,使代码,以确保它的每一个组合的过滤器。
https://stackoverflow.com/questions/47696035
复制相似问题