Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com um problema no meu filtro de busca com select.
Meu código está funcionando beleza só que eu preciso selecionar os 2 campos para ele encontrar algo no banco. Gostaria de poder selecionar só estado por exemplo e ele me retornar todos clientes daquele estado sem precisar escolher uma cidade. OU escolher uma cidade sem precisar escolher o estado.
Segue o código para análise
<?php
include "conexao.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Plugin Cadastro</title>
</head>
<body>
<table width="600" border="0">
<td align="center"><h1>Filtrar Clientes</h1></td>
</tr>
</table>
<form action="" method="post" enctype="multipart/form-data">
<span>Estado</span>
<select name="estado">
<option value="" selected="selected">Selecione um Estado..</option>
<?php
$pega_estados = mysql_query("SELECT DISTINCT estado FROM clientes order by estado ASC");
if(mysql_num_rows($pega_estados) == 0) {
echo '<option value="">Não foram encontrados Estados</option>';
}else{
while($linha = mysql_fetch_array($pega_estados)){
echo '<option value="'.$linha['estado'].'">'.$linha['estado'].'</option>';
}
}
?>
</select>
<span>Cidade</span>
<select name="cidade">
<option value="" selected="selected">Selecione uma Cidade..</option>
<?php
$pega_cidades = mysql_query("SELECT DISTINCT cidade FROM clientes order by cidade ASC");
if(mysql_num_rows($pega_cidades) == 0) {
echo '<option value="">Não foram encontrados Cidades</option>';
}else{
while($linhaC = mysql_fetch_array($pega_cidades)){
echo '<option value="'.$linhaC['cidade'].'">'.$linhaC['cidade'].'</option>';
}
}
?>
</select>
<input type="hidden" name="acao" value="enviar" />
<input type="submit" value="Buscar" />
</form>
<hr />
<?php if(isset($_POST['acao']) && $_POST['acao'] == 'enviar'){
$estado = $_POST['estado'];
$cidade = $_POST['cidade'];
$seleciona_filtro = mysql_query("SELECT * FROM clientes WHERE estado = '$estado' AND cidade = '$cidade'") or die ("Erro: ".mysql_error());
if(mysql_num_rows($seleciona_filtro) == 0) {
echo '<h1>Não foram encontados resultados da sua busca</h1>';
}else{
while($linhaFiltro = mysql_fetch_array($seleciona_filtro)){
echo '<li>'.$linhaFiltro['nome'].'</li>';
}
}
}
?>
</body>
</html>
Fico no aguardo de uma alma para me dar uma luz!
Att.
Carregando comentários...