Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 390
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Sistema de Busca com filtros

04-02-2010 08:35

Bom dia.
Estou com dificuldades para fazer um sistema de busca com filtros , este esta me retornando todos os resultados , não esta filtrando .

Segue o código.
$categoria = $_POST['categoria']; $fabricante = $_POST['fabricante']; $modelo = $_POST['modelo']; $ano1 = $_POST['ano1']; $ano2 = $_POST['ano2']; $valor1 = $_POST['valor1']; $valor2 = $_POST['valor2']; mysql_select_db($database_carros, $carros); if(!empty($categoria) || !empty($fabricante) || !empty($modelo) || !empty($ano) || !empty($valor)) { $query_veiculos = "SELECT * FROM veiculos $busca"; if(!empty($categoria)) { $busca= " WHERE categoria='$categoria'"; } if(!empty($fabricante)) { if(!empty($busca)){ $busca= " AND fabricante='$fabricante'"; } else { $busca= " WHERE fabricante='$fabricante'"; } } if(!empty($modelo)) { if(!empty($busca)){ $busca= " AND modelo LIKE '%$modelo%'"; } else { $busca= " WHERE modelo LIKE '%$modelo%'"; } } if(!empty($ano)) { if(!empty($busca)){ $busca= " AND ano BETWEEN '$ano1' AND '$ano2'"; } else { $busca= " WHERE ano BETWEEN '$ano1' AND '$ano2'"; } } if(!empty($valor)) { if(!empty($busca)){ $busca= " AND valor BETWEEN '$valor1' AND '$valor2' "; } else { $busca= " WHERE valor BETWEEN '$valor1' AND '$valor2' "; } } } else { $query_veiculos = "SELECT * FROM veiculos"; }


Desde ja agradeço qualquer ajuda. :help :help
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 390
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Sistema de Busca com filtros

04-02-2010 12:58

no momento ....
$categoria = $_POST['categoria']; $fabricante = $_POST['fabricante']; $modelo = $_POST['modelo']; $ano1 = $_POST['ano1']; $ano2 = $_POST['ano2']; $valor1 = $_POST['valor1']; $valor2 = $_POST['valor2']; $maxRows_veiculos = 10; mysql_select_db($database_carros, $carros); $query_veiculos = " SELECT * FROM veiculos WHERE id > 0"; // verificar se você tem mesmo esta coluna.... sometne para passar para os dados if (! empty($categoria)) $query_veiculos .= " AND categoria='$categoria'"; if (! empty($fabricante)) $query_veiculos .= " AND fabricante='$fabricante'"; if (! empty($modelo)) $query_veiculos .= " AND modelo LIKE '%$modelo%'"; if (! empty($ano)) $query_veiculos .= " AND ano BETWEEN '$ano1' AND '$ano2'"; if (! empty($valor)) $query_veiculos .= " AND valor BETWEEN '$valor1' AND '$valor2' "; $sql = mysql_query($query_veiculos);


Quase perfeito, falta só a parte do ano e valor que não esta funcionando conforme, aparece todos os anos e ou todos os valores ....

Detalhe, na tabela os campos estão como :

ano - int(11)
valor - decimal(12,2)

e na sql
if (! empty($ano)) $query_veiculos .= " AND ano BETWEEN '$ano1' AND '$ano2'"; if (! empty($valor)) $query_veiculos .= " AND valor BETWEEN '$valor1' AND '$valor2' ";


Como proceder ? :x :o :x
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 390
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Sistema de Busca com filtros

04-02-2010 13:25

Resolvido ...

if (! empty($ano1) && !empty($ano2)) $query_veiculos .= " AND ano BETWEEN '$ano1' AND '$ano2'";

Coloquei a solução aqui , pois sempre sou ajudado neste forum.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17513
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Sistema de Busca com filtros

04-02-2010 17:04

Boa, não respondi porque estava sem possibilidade de acessar o fórum.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado