PHP的如果ID = = 0不工作

时间:2018-07-01 17:47:50

标签: php mysql mysqli

我试图用3个选择框进行简单的汽车搜索,问题是当3个选择值为0时要显示所有汽车: 只有这部分不起作用:

 if($fabricante_id==0 || $modelo_id==0 || $combustivel_id==0){
    $filtros="";
    }   

完整代码:

    $fabricante_id=isset($_GET['fabricante_id'])?(int)$_GET['fabricante_id']:"0";
    $modelo_id=isset($_GET['modelo_id'])?(int)$_GET['modelo_id']:"0";
    $combustivel_id=isset($_GET['combustivel_id'])?(int)$_GET['combustivel_id']:"0";
    $filtros=NULL;
if($fabricante_id==0 || $modelo_id==0 || $combustivel_id==0){
    $filtros="";
    }    
  if($fabricante_id!=0 || $modelo_id!=0 || $combustivel_id!=0){
    if($fabricante_id!=0){
        $filtros=" where auto_fabricante='{$fabricante_id}' ";
    }
    if($modelo_id!=0){
        if($filtros){
            //$filtros= $filtros ." AND auto_modelo='{$modelo_id}' "; 
            $filtros.=" AND auto_modelo='{$modelo_id}' ";
        }else{
            $filtros="where auto_modelo='{$modelo_id}' ";
        }
    }
    if($combustivel_id!=0){
        if($filtros){
            //$filtros= $filtros ." AND auto_modelo='{$modelo_id}' "; 
            $filtros.=" AND auto_combustivel='{$combustivel_id}' ";
        }else{
            $filtros=" where auto_combustivel='{$combustivel_id}' ";
        }
    }

    $sql="SELECT * 
    FROM automoveis 
    {$filtros} ";

1 个答案:

答案 0 :(得分:1)

php中的and运算符是&&,而不是||,您需要将其更改为:

 if($fabricante_id==0 && $modelo_id==0 && $combustivel_id==0){
    $filtros="";
    }