Ir para conteúdo

POWERED BY:

Arquivado

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

fabfernandes

Selecionar PAIS > ESTADO > CIDADE

Recommended Posts

Pessoal,Tenho em mau banco de dados as tabelas PAIS, ESTADO, CIDADE... relacionadas entre si.Tenho um formulario de cadastro de clientes, como faco para que quando o cara seleciona o PAIS aparecer no outro combo somente os ESTADOS daquele pais e quando selecionar o estado aparecer no outro combo somente as CIDADES daquele estado... isso tudo sem dar refresh na pagina para nao perder os outros campos ja digitados... eu ja li que tem como fazer isso usando iframe+javascript+php... porem não estou conseguindo fazer de modo satisfatorio.. alguem sabe onde encontro um exemplo?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara... pq eu nao estava conseguindo fazer... mas agora consegui.. e na boa, leve isso como uma crítica construtiva... teu codigo eh muito amador... não rola.

 

Agora vai o meu...

- usando abstração de banco de dados ADODB

- faz busca por PAIS - ESTADO - CIDADE

 

usem a vontade. :) :)

 

INDEX.PHP

PHP

[*]<script language="JavaScript">

[*] function buscaEstado(campo) {

[*] eval("parent.estado.location='busca_estado.php?idpais="+campo.options[campo.selectedIndex].value+"'");

[*] }

[*] function buscaCidade(campo) {

[*] eval("parent.cidade.location='busca_cidade.php?idestado="+campo.options[campo.selectedIndex].value+"'");

[*] }

[*]</script>

[*]<?

[*] $adodb_path = "adodb" ;

[*] include("$adodb_path/adodb.inc.php");

[*] $db = NewADOConnection("firebird");

[*] $db -> connect("127.0.0.1","sysdba","masterkey","F:\DATABASES\DB_SISTEMASWEB.GDB");

[*] $str = 'onChange="buscaEstado(this)"';

[*] $sql = "SELECT Descricao, idPais FROM Tb_Pais ORDER BY Descricao";

[*] $rs2 = &$db->Execute($sql);

[*] print $rs2->GetMenu('idpais','',true,'','',$str);

[*]?>

[*]<br>

[*]<iframe name="estado" src="busca_estado.php" width="300" height="23" frameBorder=no scrolling=no border=0 marginWidth=0 marginHeight=0></iframe>

[*]<br>

[*]<iframe name="cidade" src="busca_cidade.php" width="300" height="23" frameBorder=no scrolling=no border=0 marginWidth=0 marginHeight=0></iframe>

 

BUSCA_ESTADO.PHP

PHP

[*]<?

[*] $adodb_path = "adodb" ;

[*] include("$adodb_path/adodb.inc.php");

[*] $db = NewADOConnection("firebird");

[*] $db -> connect("127.0.0.1","sysdba","masterkey","F:\DATABASES\DB_SISTEMASWEB.GDB");

[*] if ($idpais=='') $idpais='0';

[*] $str = 'onChange="parent.buscaCidade(this)"';

[*] $sql = "SELECT Descricao, idEstado FROM Tb_Estado WHERE idPais = '$idpais' ORDER BY Descricao";

[*] $rs = &$db->Execute($sql);

[*] print $rs->GetMenu('idestado','',true,'','',$str);

[*]?>

 

BUSCA_CIDADE.PHP

PHP

[*]<?

[*] $adodb_path = "adodb" ;

[*] include("$adodb_path/adodb.inc.php");

[*] $db = NewADOConnection("firebird");

[*] $db -> connect("127.0.0.1","sysdba","masterkey","F:\DATABASES\DB_SISTEMASWEB.GDB");

[*] if ($idestado=='') $idestado='0';

[*] $sql = "SELECT Descricao, idCidade FROM Tb_Cidade WHERE idEstado = '$idestado' ORDER BY Descricao";

[*] $rs2 = &$db->Execute($sql);

[*] print $rs2->GetMenu('idcidade','',true);

[*]?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok pessoal, resolveram o problema e ainda acharam duas soluções ! Parabéns !Espero que continuem mantendo o respeito entre si.Abraços.

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.