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

Я пытаюсь выполнить простой поиск автомобилей с 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} ";
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
225
1

Ответы 1

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

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

OP также должен использовать оператор else вместо того, чтобы пытаться выполнить противоположное условие сразу после этого.

Devon 01.07.2018 19:56

«тоже не работает» - очень полезная фраза здесь, в stackoverflow.

IncredibleHat 01.07.2018 20:30

Другие вопросы по теме