Consulta avançada Mysql e PHP
Boa tarde, tenho duvidas de como montar a seguinte funcionalidade.
Tenho uma tabela no meu banco e uma tela de consulta PHP. Aparece para o usuario os seguintes campos ( por exemplo ) para ele preencher com os parametros que deseja buscar:
- MARCA
- RESPONSAVEL
- DATA
- COR
A jogada esta em: O usuário pode entrar com o dado em somente um filtro ou em todos, e minha query deve ser capaz de absorver os parâmetros informados para fazer a consulta. Que pode ser um ou pode ser todos....
Qual a melhor maneira de fazer isso ?
Tenho uma tabela no meu banco e uma tela de consulta PHP. Aparece para o usuario os seguintes campos ( por exemplo ) para ele preencher com os parametros que deseja buscar:
- MARCA
- RESPONSAVEL
- DATA
- COR
A jogada esta em: O usuário pode entrar com o dado em somente um filtro ou em todos, e minha query deve ser capaz de absorver os parâmetros informados para fazer a consulta. Que pode ser um ou pode ser todos....
Qual a melhor maneira de fazer isso ?
Yago Pereira
Curtidas 0
Respostas
Helton Fábio
27/04/2019
Boa tarde, tenho duvidas de como montar a seguinte funcionalidade.
Tenho uma tabela no meu banco e uma tela de consulta PHP. Aparece para o usuario os seguintes campos ( por exemplo ) para ele preencher com os parametros que deseja buscar:
- MARCA
- RESPONSAVEL
- DATA
- COR
A jogada esta em: O usuário pode entrar com o dado em somente um filtro ou em todos, e minha query deve ser capaz de absorver os parâmetros informados para fazer a consulta. Que pode ser um ou pode ser todos....
Qual a melhor maneira de fazer isso ?
Tenho uma tabela no meu banco e uma tela de consulta PHP. Aparece para o usuario os seguintes campos ( por exemplo ) para ele preencher com os parametros que deseja buscar:
- MARCA
- RESPONSAVEL
- DATA
- COR
A jogada esta em: O usuário pode entrar com o dado em somente um filtro ou em todos, e minha query deve ser capaz de absorver os parâmetros informados para fazer a consulta. Que pode ser um ou pode ser todos....
Qual a melhor maneira de fazer isso ?
pelo que eu entendi você quer adicionar um multiplo select pra poder criar a query, certo?
você ta usando ajax? se sim, monte um objeto com os campos selecionado e crie a query com o que for selecionado.
Exemplo.:
Usuário seleciona cor e marca > você monta um objeto em javascript com os valores selecionados pra mandar via ajax (o objeto tem como atributos os nomes dos parâmetros, portanto vai estar com os parâmetros preenchidos ou vazios) > dai tu faz o select e a query tu cria uma query genérica que vai adicionando os parâmetros
$query = "SELECT * FROM produto "; //checa cada uma das propriedades, aqui vou só fazer uma if($data->cor !== ''){ $sql .= "WHERE cor =".$data->cor; } //ai você faz os outros atributos até por fim executar $stmt->execute()
enfim, a lógica é simples:
- Objeto JavaScript com as propriedades
- Ajax para mandar o objeto com o que foi preenchido
- Página intermediária pra mandar os valores pra DAO
- Leitura no banco conforme os atributos preenchidos
- Retorno da query
Espero ter ajudado.
GOSTEI 0