Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

1. Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

uriel dos santos souza
uriel_souza

(usa Debian)

Enviado em 22/05/2015 - 15:23h

Olá senhoras e senhores.

Tenho um problema que não consigo resolver.

Seguinte:

Tenho em um form de busca
Estado, Cidade e bairro.
Em Estado e cidade tudo certo. Po que pego os dados deste link > http://cidades-estados-js.googlecode.com
Muito fácil de usar.


O problema vem com os bairros.

Quero uma forma de fazer o seguinte.

Quando alguém escolher uma cidade qualquer o meu php de busca faça a busca de bairros com aquela cidade.
O problema que não sei como fazer esta parte, de alguma forma esperar a pessoa escolher a cidade, e que mude quando a pessoa mudar a cidade.


O que tenho que fazer para funcionar ?

Pessoa escolhe Cidade e o PHP busca o Bairro daquela cidade no Mysql.

Sem este tipo de busca ele funciona bem
Só falta listar os bairros da cidade correta.

abraços





  


2. Re: Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 22/05/2015 - 16:14h


Uriel,

deixa eu ver se eu entendi, você tem um .js que gerencia a combinação estado / cidade

usualmente, usa-se JQuery, PHP e Mysql para conseguir o resultado desejado - o link abaixo mostra um exemplo:
http://matheuspiscioneri.com.br/blog/autocomplete-usando-jquery-php-e-mysql/

agora, no seu caso concreto:
a) você precisa adaptar o .js para incluir os bairros, ou
b) passar o .js para forma de tabela e criar uma tabela relacionando as cidades com os bairros,
é isso mesmo?

Como o Brasil tem 5.570 cidades e milhares de bairros, a tarefa fica complicada.
Entretanto, se você minerar na internet, inicialmente na página dos Correios, você deve encontrar um banco de dados contendo estado - cidade - bairro.
Eu dei uma fuçada e encontrei os links abaixo, mas não verifiquei se é o que você precisa.
http://forum.imasters.com.br/topic/142634-busca-cep/page-2#entry546475
http://www.coisasuteis.com.br/2009/12/banco-de-dados-de-cep-rua-bairro-cidade-estado-em-mysql/


3. Re: Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

uriel dos santos souza
uriel_souza

(usa Debian)

Enviado em 22/05/2015 - 23:25h

cassio88 escreveu:


Uriel,

deixa eu ver se eu entendi, você tem um .js que gerencia a combinação estado / cidade

usualmente, usa-se JQuery, PHP e Mysql para conseguir o resultado desejado - o link abaixo mostra um exemplo:
http://matheuspiscioneri.com.br/blog/autocomplete-usando-jquery-php-e-mysql/






Na verdade não.
Eu preciso de algo que funcione assim.

Faça uma busca no banco e apresente o que tem depois de eu escolher a cidade.

Ex: Eu achei o estado e depois a cidade.

Quando eu escolher a CIDADE algum PHP pega a cidade escolhida e busca no banco os bairros relacionados a cidade.

O JS Acima funciona apenas para Estados e cidades.
O que falta são bairros.

Mas uma OBS.

Os bairros e cidades já estão no banco.
Seria como um combox.


Algo como se um PHP ficasse apenas esperando a cidade para ir e fazer a busca no Mysql e apresentar os bairro.





4. Re: Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 23/05/2015 - 04:40h

dá uma olhada em:
http://beski.wordpress.com/2009/11/20/jquery-php-mysql-ajax-autocomplete

eu montei uma página assim em 2010, não me lembro bem dos detalhes, mas de um dos dois modos abaixo deve funcionar:
1) se cada vez que a pessoa alterar estado / cidade (onChange), você fizer uma nova chamada à página e colocar a cidade no form, ou
2) criar uma session para a cidade,
get_course_list.php trará os bairros só da cidade escolhida.

Dá um retorno depois dizendo se funcionou

Obrigado


5. Re: Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

uriel dos santos souza
uriel_souza

(usa Debian)

Enviado em 23/05/2015 - 10:47h





É exatamente isso!
Mas com um porem.

Eu não gostaria de usar arquivo externo: "get_course_list.php"

Queria usar tudo na mesma página (arquivo PHP ). Seria possível ?

Se não usarei este mesmo.

Muito obrigado!





6. Re: Requisição assincrona simples. PHP + Mysql [RESOLVIDO]

CASSIO FERRAZ
cassio88

(usa Ubuntu)

Enviado em 23/05/2015 - 11:40h

Olha,

Desconheço se é possível usar um só arquivo php

Eu uso dicionário.php, o aplicativo necessita de:

javascript/jquery.min.js
javascript/jquery.autocomplete.js
css/jquery.autocomplete.css

dicionário.php contém, em seu body:
<div id="content">
<form name="form1" method="post" autocomplete="off" action="dicionario.php">
<p>
Procure por <label>:</label>
<input type="text" name="course" id="course" />
<input type="submit" value="OK" />
</form>

e no <head> está

<script type="text/javascript">
$().ready(function() {
window.location.hash = '#alvo';
$("#course").autocomplete("get_course_list.php", {
width: 260,
matchContains: true,
//mustMatch: true,
//minChars: 0,
//multiple: true,
//highlight: false,
//multipleSeparator: ",",
selectFirst: false
});
});
</script>

e finalmente, get_course_list.php:

<?php
require_once "conexao.php";
$q = $_GET["q"]; // AQUI VOCÊ PRECISA FAZER APARECER A CIDADE
if (!$q) return;
$q=addslashes($q);
$sql = 'select BAIRRO as course_name from TABELA where CIDADE LIKE "%'.$q.'%"'; // ACERTE A SQL
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs['course_name'];
// http://stackoverflow.com/questions/553463/jquery-ajax-character-encoding-problem
// se não fizer isso, o autocomplete aparece aqueles caracteres malucos
$cname=iconv("iso-8859-1","UTF-8",$cname); //
echo "$cname\n";
}
?>







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts