Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dexter Morgan

Pesquisa com Filtro + Inner Join

Recommended Posts

Boa tarde, estou tentando fazer uma pesquisa com filtros, onde apenas 1 filtro é obrigatorio, e os outros opcionais:

2qvawdj.jpg

o form está via post, a pagina que recebe com sql:

$garagem_automovel_marca = $_POST["garagem_automovel_marca"];
$garagem_automovel_cor = $_POST["garagem_automovel_cor"];
$garagem_automovel_porta = $_POST["garagem_automovel_porta"];
$garagem_automovel_combustivel = $_POST["garagem_automovel_combustivel"];
$garagem_automovel_ano = $_POST["garagem_automovel_ano"];
$garagem_automovel_marcha = $_POST["garagem_automovel_marcha"];
$garagem_automovel_situacao = $_POST["garagem_automovel_situacao"];

$sql = "SELECT garagem_automoveis.*, garagem_automovel_marcas.*, garagem_automovel_cores.*, garagem_automovel_portas.*, garagem_automovel_combustiveis.*, garagem_automovel_anos.*, garagem_automovel_marchas.*, garagem_automovel_situacoes.* FROM garagem_automoveis

INNER JOIN garagem_automovel_marcas ON garagem_automoveis.id_garagem_automovel_marca = garagem_automovel_marcas.id_garagem_automovel_marca
INNER JOIN garagem_automovel_cores ON garagem_automoveis.id_garagem_automovel_cor = garagem_automovel_cores.id_garagem_automovel_cor
INNER JOIN garagem_automovel_portas ON garagem_automoveis.id_garagem_automovel_porta = garagem_automovel_portas.id_garagem_automovel_porta
INNER JOIN garagem_automovel_combustiveis ON garagem_automoveis.id_garagem_automovel_combustivel = garagem_automovel_combustiveis.id_garagem_automovel_combustivel
INNER JOIN garagem_automovel_anos ON garagem_automoveis.id_garagem_automovel_ano = garagem_automovel_anos.id_garagem_automovel_ano
INNER JOIN garagem_automovel_marchas ON garagem_automoveis.id_garagem_automovel_marcha = garagem_automovel_marchas.id_garagem_automovel_marcha
INNER JOIN garagem_automovel_situacoes ON garagem_automoveis.id_garagem_automovel_situacao = garagem_automovel_situacoes.id_garagem_automovel_situacao

WHERE garagem_automoveis.publicado = 'S' AND

(garagem_automovel_marca LIKE '%".$garagem_automovel_marca."%') AND
(garagem_automovel_cor LIKE '%".$garagem_automovel_cor."%') AND
(garagem_automovel_porta LIKE '%".$garagem_automovel_porta."%') AND
(garagem_automovel_combustivel LIKE '%".$garagem_automovel_combustivel."%') AND
(garagem_automovel_ano LIKE '%".$garagem_automovel_ano."%') AND
(garagem_automovel_marcha LIKE '%".$garagem_automovel_marcha."%') AND
(garagem_automovel_situacao LIKE '%".$garagem_automovel_situacao."%')

ORDER BY garagem_automovel_marca ASC";

já tentei utilizar OR em vez de AND mas nao vai, quando pesquiso apenas a marca mostra todos automoveis e coloco por exe: marca e cor, tbm exibe todos automoveis, só funciona se filtrar todos os dados, alguem sabe como corrigir isso, ja tentei utilizar via GET mas aconteceu a mesma coisa e via post parece ser mais seguro .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exemplo:

 

http://wbruno.com.br/php/formulario-de-busca-filtro-dinamico-em-mysql-php/

 

 

Não existe isso de "POST mais seguro que GET".

Se vc está escolhendo assim, está completamente equivocado.

 

GET -> resgata informações

POST -> envia

 

No teu caso, GET é o verbo correto por definição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.