Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O que devo fazer para que quando clico em uma Selected seja filtrado os dados de outra Selected.

Tenho o seguinte projeto. Para cada selected já tenho o código JQuery pegando os eventos de clique e estão funcionando porque vi no console de inspeção do chrome.

Quando eu clicar em selected quero filtrar os dados do outro selected.

A conexão com o banco de dados está funcionando. O query estão funcionando.

Cada selected já está sendo preenchido com PHP.

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

<?php
    require_once "../classes/Conexao.php";


    try {
        $conexao = new Conexao();
        $conn = $conexao->retornarConexao();
    } 
    catch (Exception $ex) {
        //header("Location:../src/conexao-falhou.php");
        return;
    }

    /* Montadoras */

    $sql = "SELECT
            id,
            montadora
            FROM montadora";

    $montadora = mysqli_query($conn, $sql);

    /* Modelos */
    $sql = "SELECT
            id,
            modelo
            FROM modelo";

    $modelo = mysqli_query($conn, $sql);

    /* Modelos Anos */
    $sql = "SELECT
            id,
            ano
            FROM modeloano";
    $modeloAno = mysqli_query($conn, $sql);

    /* Potência */
    $sql = "SELECT
            id,
            modeloanopotencia
            FROM view_modeloanopotencia";
    $modeloAnoPotencia = mysqli_query($conn, $sql);

    /* Potência */
    $sql = "SELECT
            id,
            diagramasistema
            FROM view_modeloanopotenciasistemadiagrama";
    $modeloAnoPotenciaSistemaDiagrama = mysqli_query($conn, $sql);

    $conexao->fecharConexao();
?>

      <script>
        $(function() {
            $(".montadora").click(montadora).change(montadora);
            $(".modelo").click(modelo).change(modelo);
            $(".modelo__ano").click(modeloAno).change(modeloAno);
            $(".modelo__ano__potencia").click(modeloAnoPotencia).change(modeloAnoPotencia);
            $(".modelo_ano_sistema_potencia_diagrama").click(modeloAnoPotenciaSistemaDiagrama).change(modeloAnoPotenciaSistemaDiagrama);



        });

        function montadora() {
            console.log('clicou montadora...');
        }

        function modelo() {
            console.log('clicou modelo...');
        }

        function modeloAno() {
            console.log('clicou modelo ano...');
        }

        function modeloAnoPotencia() {
            console.log('clicou modelo ano potencia...');
        }

        function modeloAnoPotenciaSistemaDiagrama() {
            console.log('clicou modelo ano potencia sistema...');
        }

    </script>
2 respostas

Amigo, vai ter que ajustar seus métodos, pode ser feito de várias maneiras, uma delas é, quando selecionar o primeiro select em montadoras, seu método de buscar o Modelo deve usar o retorno da montadora para usar no banco de dados.

function getMontadora(){
 $sql = "SELECT
            id,
            montadora
            FROM montadora";
            return $sql;
            }
function getModelo($montadora){

    $sql = "SELECT
            id,
            modelo
            FROM modelo
            where montadora like  $montadora";

    return $sql;
    }
Dei só um exemplo de como pode ser feito, verifica a modelagem do seu banco, coloca no model esses selects e usa o control para tratar essas informações.

Boa sorte!

solução!

Obrigado.

Acabei resolvendo com Ajax. Separei os os arquivos para cada SQL e usei uma requisição Ajax pra fazer a seleção.

Grato.