Remazela 6 Denunciar post Postado Dezembro 1, 2016 Caros amigos. Por favor, me perdoa por recorrer ao auxílio dos amigos, abaixo anexei a imagem do filtro para melhor entender. O Filtro faz a busca corretamente, trazendo na Tela todas as opções escolhidas. O problema é o seguinte: conforme acima na imagem mencionado, quando busco um Tipo de Categoria - quero que o filtro me traz somente o Bairro que tiver a categoria escolhida e não todos como mostrado acima. A minha tabela está assim: CREATE TABLE IF NOT EXISTS `imoveis` ( `imovelId` int(11) NOT NULL AUTO_INCREMENT, `clienteId` varchar(255) DEFAULT NULL, `imovelVisitas` varchar(100) DEFAULT NULL, `imovelTitulo` varchar(40) DEFAULT NULL, `imovelTipo` varchar(100) DEFAULT NULL, //categorias: casa / apartamento, etc `imovelValor` varchar(255) DEFAULT NULL, `imovelNegocio` varchar(255) DEFAULT NULL, `imovelDescricao` varchar(255) DEFAULT NULL, `imovelRua` varchar(255) DEFAULT NULL, `imovelNumero` varchar(10) DEFAULT NULL, `imovelCompl` varchar(255) DEFAULT NULL, `imovelBairro` varchar(255) DEFAULT NULL, `imovelCidade` varchar(255) DEFAULT NULL, `imovelEstado` varchar(2) DEFAULT NULL, `imovelProximo` varchar(255) DEFAULT NULL, `imovelCadastro` timestamp NULL DEFAULT NULL, `imovelUpdate` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP, `imovelTermino` timestamp NULL DEFAULT NULL, `imovelStatus` varchar(255) DEFAULT NULL, `imovelConfirma` varchar(255) DEFAULT NULL, PRIMARY KEY (`imovelId`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; Abaixo posto meus fontes: filtro.js (aqui faço a busca de campo a campo). Observação: name=tipo é [ alugar / comprar ] vem de um selected $(function(){ $("select[name=tipo]").change(function(){ beforeSend:$("select[name=categoria]").html('<option value="0">Aguarde Carregando...</option>'); var categoria = $("select[name=tipo]").val(); $.post("filtro/categoria.php",{categoria: categoria},function(pega_cat){ complete:$("select[name=categoria]").html(pega_cat); $("select[name=categoria]").change(function(){ beforeSend:$("select[name=sub-cat]").html('<option value="0">Aguarde Carregando...</option>'); var cidade = $("select[name=categoria]").val(); $.post("filtro/cidade.php",{cidade: cidade},function(pega_cidade){ complete:$("select[name=sub-cat]").html(pega_cidade); $("select[name=sub-cat]").change(function(){ beforeSend:$("select[name=bairro]").html('<option value="0">Aguarde Carregando...</option>'); var bairro = $("select[name=sub-cat]").val(); $.post("filtro/bairro.php",{bairro: bairro},function(pega_bairro){ complete:$("select[name=bairro]").html(pega_bairro); }); //Fecha Pega Bairro }); //Fecha Função Bairro }); //Fecha Pega Cidade }); //Fecha Função Categoria }); //Fecha Pega Categoria }); //Fecha Tipo de Transação }) //Fecha Function categoria.php <?php //Escolher o Tipo de Categoria: casa / apartamento / etc include"../Connections/painel_config.php"; $conecta = mysql_connect("$hostname_painel_config","$username_painel_config","$password_painel_config"); $db = mysql_select_db("$database_painel_config"); $cat = $_POST['categoria']; $seleciona = mysql_query("SELECT * FROM imoveis WHERE imovelNegocio = '$cat' GROUP BY imovelTipo"); echo '<option value="">Selecione a Categoria</option>'; while($res_seleciona = mysql_fetch_array($seleciona)){ $tipo = $res_seleciona['imovelTipo']; echo '<option value="'.$tipo.'">'.$tipo.'</option>'; } ?> cidade.php <?php include"../Connections/painel_config.php"; $conecta = mysql_connect("$hostname_painel_config","$username_painel_config","$password_painel_config"); $db = mysql_select_db("$database_painel_config"); $cidade = $_POST['cidade']; $uf = $_POST['estado']; $seleciona = mysql_query("SELECT * FROM imoveis WHERE imovelTipo = '$cidade' GROUP BY imovelCidade"); echo '<option value="">Selecione a Cidade</option>'; while($res_seleciona = mysql_fetch_array($seleciona)){ $cid = $res_seleciona['imovelCidade']; $uf = $res_seleciona['imovelEstado']; echo '<option value="'.$cid.'">'.$cid.'-'.$uf.'</option>'; } ?> bairro.php <?php include"../Connections/painel_config.php"; $conecta = mysql_connect("$hostname_painel_config","$username_painel_config","$password_painel_config"); $db = mysql_select_db("$database_painel_config"); $bairro = $_POST['bairro']; $sql_sub = "SELECT imovelId, imovelTipo, imovelBairro, COUNT(imovelBairro) as total_cat "; $sql_sub = $sql_sub . " FROM imoveis "; $sql_sub = $sql_sub . " WHERE imovelCidade = '$bairro' "; $sql_sub = $sql_sub . " GROUP BY imovelTipo "; $sql_sub = $sql_sub . " ORDER BY imovelBairro "; $seleciona = mysql_query($sql_sub, $conecta); echo '<option value="">Selecione o Bairro</option>'; while ($reg_sub = mysql_fetch_array($seleciona)) { $resultado = $reg_sub["imovelBairro"]; $total_cat = $reg_sub["total_cat"]; echo "<option value='" . $resultado . "'>" . $resultado . " (" . $total_cat . ")</option><br/>"; } mysql_free_result($rs_sub); ?> Amigos, como faço para trazer apenas o Bairro que tiver, por exemplo: casa ? Grato a todos que puderem me ajudar. Atenciosamente, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Mateus Silva 64 Denunciar post Postado Dezembro 1, 2016 Tu vai ter que acionar o ajax quando o select de casa for alterado (.change) passando a categoria, ai tu faz as queries e pega os resultados e dá o retorno, com esse retorno do ajax, tu joga os resultados dentro do select de bairros, é bem simples na verdade Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Dezembro 1, 2016 Amigo Mateus por favor, me perdoa de coração em solicitar sua ajuda. mas neste caso como usaria o AJAX, para passar o valor da CATEGORIA vindo do filtro.js, para o bairro.php Teria algum exemplo para me ajudar. mais uma vez, por favor me perdoa, pois nunca usei o AJAX. Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Dezembro 1, 2016 Amigo Mateus Estive verificando meu código e verifiquei que já estou usando o AJAX. Só não consigo levar a VARIÁVEL Categoria para o Bairro.php Como consigo fazer isso ? Grato, Renato Compartilhar este post Link para o post Compartilhar em outros sites
Remazela 6 Denunciar post Postado Dezembro 1, 2016 Caros amigos. Consegui resolver o " erro " de filtro. Após reler, ler, pesquisar, refazer. Fiz a seguinte alteração no meu código e trouxe como preciso. Obs.: não sei se é a forma mais correta, mas deu certo. Trecho do Código $.post("filtro/bairro.php",{bairro: bairro},function(pega_bairro){ complete:$("select[name=bairro]").html(pega_bairro); Trecho do Código com Alteração //......................................... acrescentei... $.post("filtro/bairro.php",{bairro: bairro, cidade: cidade},function(pega_bairro){ complete:$("select[name=bairro]").html(pega_bairro); Grato a todos. Atenciosamente, Renato Compartilhar este post Link para o post Compartilhar em outros sites