php если id == 0 не работает - PullRequest
0 голосов
/ 01 июля 2018

Я пытаюсь выполнить простой поиск автомобилей с 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 голосов
/ 01 июля 2018

Оператором and в php является &&, а не ||, его необходимо изменить на:

 if($fabricante_id==0 && $modelo_id==0 && $combustivel_id==0){
    $filtros="";
    }  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...