php если id == 0 не работает

0

im пытается сделать простой поиск автомобиля с помощью трех ящиков выбора, проблема заключается в том, чтобы отображать все автомобили, когда 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} ";
Теги:
mysqli

1 ответ

1

Оператор and в php равен &&, а не ||, вам нужно изменить его на:

 if($fabricante_id==0 && $modelo_id==0 && $combustivel_id==0){
    $filtros="";
    }  
  • 0
    OP также должен использовать оператор else вместо попытки выполнить противоположное условие сразу после.
  • 0
    тоже не работает
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню