lamatta Postado Fevereiro 28, 2011 Denunciar Share Postado Fevereiro 28, 2011 Olá amigos...Fiz um formulario utilizando algumas dicas que peguei aqui com voces, porem quero ajuda pra incrementar mais um campo de select... Segue a baixo 4 tabelas encontradas no meu banco de dados...1° tabela é de (ESTADOS - UF)tb_ufuf_id | uf_nome | uf_abrev1 | Amapá | AP2 | Minas Gerais | MG3 | São Paulo | SP2° tabela é de cidadestb_cidadesid_mun | nome_mun | uf_mun1 | Macapá | AP2 | Recreio | MG3 | São Paulo | SP3° tabela é de bairrostb_bairroid_bai | nome_bai | mun_bai | uf_bai1 | Infraero II | Macapá | AP2 | Vila Marisa | Recreio | MG3 | Jardim Paulista | São Paulo | SP4º tabela é de Clientestb_clienteid_cliente | nome_cliente | cidade_cliente | estado_cliente | bairro_cliente1 | Márcio | Macapá | AP | Infraero II2 | Maíra | Recreio | MG | Vila MarisaFinalmente meu formulario fica assim... (inc_cliente.php)<html><head><script language="JavaScript">function openWindow() { window.open("uf_mun_bai.php","windowsAUX","width=300,height=200,scrollbars=YES")}</script></head><body>$sql = "SELECT * FROM tb_cliente WHERE id_cliente = '$id_cliente'"; $limite = mysql_query ("$sql"); while ($sql = mysql_fetch_array($limite)) { $nome_cliente = $sql["nome_cliente"]; $bairro_cliente = $sql["bairro_cliente"]; $cidade_cliente = $sql["cidade_cliente"]; $estado_cliente = $sql["estado_cliente"]; } <ul> <li>Nome<br /> <input type=text" name="nome_cliente" size="95" value='<? echo "$nome_cliente"; ?>' /> </li> </ul> <ul> <li>Estado<br /> <input type="text" name="estado_cliente" size="5" id="recebeValor" value='<? echo "$estado_cliente"; ?>' readonly="readonly"/> </li> <li>Cidade<br /> <input type="text" name="cidade_cliente" size="30" id="recebeValor2" value='<? echo "$cidade_cliente"; ?>' readonly="readonly"/> </li> <li>Bairro<br /> <input type="text" name="bairro_cliente" size="50" value='<? echo "$bairro_cliente"; ?>' readonly="readonly" /> </li> <li class="bts"><br /> <input type="button" value="Map" onclick="java script:openWindow();" /> </li> </ul></html>Percebe que tenho um botão chamado MAP que abre uma outra pagina, chamada (uf_mun_bai.php)<html><head><script Language="JavaScript">function getUf(what) { if (what.selectedIndex != '') { var uf = what.value; document.location=('uf_mun_bai.php?uf=' + uf); }}</script><script language="JavaScript">function retornaValor(valor) { opener.document.getElementById("recebeValor").value = valor;}function retornaValor2(valor) { opener.document.getElementById("recebeValor2").value = valor;}</script></head><body> <?php require ("conectdb.php"); $uf=$_GET['uf]; $query = "select * from tb_uf order by uf_abrev"; $result = mysql_query($query) or die(mysql_error()); $query = stripslashes($query); ?> Unidade Federativa<br /> <select onChange="getUf(this);"> <option value="">Selecione uma UF</option><?php while ($row = mysql_fetch_row($result)){ $uf_abrev = $row[2]; $uf_nome = $row[1]; ?> <option value="<? echo "$uf_abrev"; ?>" <? if ($uf==$uf_abrev){ echo "selected";} ?> onClick="retornaValor('<? echo "$uf_abrev"; ?>');" > <? echo "$uf_nome"; ?> </option> <? } ?> </select> <?php $query = "select * from tb_cidades where uf_mun='$uf'"; $result= mysql_query($query) or die(mysql_error()); $query = stripslashes($query); if ($uf){ ?> <br /> Cidades em <? echo "$uf"; ?><br /> <select> <option value="">Selecione uma cidade</option> <?php while ($row = mysql_fetch_row($result)){ $nome_mun = $row[1]; echo "<option value='$nome_mun' onClick=\"retornaValor2('$nome_mun');\"> $nome_mun </option>"; } ?> </select> <?php }?></body></html>Até aqui tudo Ok, o que não consigo é adicionar mais um <select> para cadastro de bairros associados à Cidades que estão associadas à Estados...Desde já Agradeço... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romerito Postado Março 1, 2011 Denunciar Share Postado Março 1, 2011 (editado) i aew lamatta, bom utilize ajax para fazer o combo.OBS: o relacionamento das suas tabelas está muito ruim. Editado Março 1, 2011 por Romerito Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lamatta Postado Março 1, 2011 Autor Denunciar Share Postado Março 1, 2011 bem, eu acredito que o que eu quero esteja aqui<script Language="JavaScript">function getUf(what) {if (what.selectedIndex != '') {var uf = what.value;document.location=('uf_mun_bai.php?uf=' + uf);}}</script>ele retorna à pagina com o valor do ESTADO (uf)... para poder abrir o combobox das cidades... O que quero é depois de escolher a cidade ele me retorna os bairros daquela cidade... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
lamatta
Olá amigos...
Fiz um formulario utilizando algumas dicas que peguei aqui com voces, porem quero ajuda pra incrementar mais um campo de select... Segue a baixo 4 tabelas encontradas no meu banco de dados...
1° tabela é de (ESTADOS - UF)
tb_uf
uf_id | uf_nome | uf_abrev
1 | Amapá | AP
2 | Minas Gerais | MG
3 | São Paulo | SP
2° tabela é de cidades
tb_cidades
id_mun | nome_mun | uf_mun
1 | Macapá | AP
2 | Recreio | MG
3 | São Paulo | SP
3° tabela é de bairros
tb_bairro
id_bai | nome_bai | mun_bai | uf_bai
1 | Infraero II | Macapá | AP
2 | Vila Marisa | Recreio | MG
3 | Jardim Paulista | São Paulo | SP
4º tabela é de Clientes
tb_cliente
id_cliente | nome_cliente | cidade_cliente | estado_cliente | bairro_cliente
1 | Márcio | Macapá | AP | Infraero II
2 | Maíra | Recreio | MG | Vila Marisa
Finalmente meu formulario fica assim... (inc_cliente.php)
<html>
<head>
<script language="JavaScript">
function openWindow() {
window.open("uf_mun_bai.php","windowsAUX","width=300,height=200,scrollbars=YES")
}
</script>
</head>
<body>
$sql = "SELECT * FROM tb_cliente WHERE id_cliente = '$id_cliente'";
$limite = mysql_query ("$sql");
while ($sql = mysql_fetch_array($limite)) {
$nome_cliente = $sql["nome_cliente"];
$bairro_cliente = $sql["bairro_cliente"];
$cidade_cliente = $sql["cidade_cliente"];
$estado_cliente = $sql["estado_cliente"];
}
<ul>
<li>Nome<br />
<input type=text" name="nome_cliente" size="95" value='<? echo "$nome_cliente"; ?>' />
</li>
</ul>
<ul>
<li>Estado<br />
<input type="text" name="estado_cliente" size="5" id="recebeValor" value='<? echo "$estado_cliente"; ?>' readonly="readonly"/>
</li>
<li>Cidade<br />
<input type="text" name="cidade_cliente" size="30" id="recebeValor2" value='<? echo "$cidade_cliente"; ?>' readonly="readonly"/>
</li>
<li>Bairro<br />
<input type="text" name="bairro_cliente" size="50" value='<? echo "$bairro_cliente"; ?>' readonly="readonly" />
</li>
<li class="bts"><br />
<input type="button" value="Map" onclick="java script:openWindow();" />
</li>
</ul>
</html>
Percebe que tenho um botão chamado MAP que abre uma outra pagina, chamada (uf_mun_bai.php)
<html>
<head>
<script Language="JavaScript">
function getUf(what) {
if (what.selectedIndex != '') {
var uf = what.value;
document.location=('uf_mun_bai.php?uf=' + uf);
}
}
</script>
<script language="JavaScript">
function retornaValor(valor) {
opener.document.getElementById("recebeValor").value = valor;
}
function retornaValor2(valor) {
opener.document.getElementById("recebeValor2").value = valor;
}
</script>
</head>
<body>
<?php
require ("conectdb.php");
$uf=$_GET['uf];
$query = "select * from tb_uf order by uf_abrev";
$result = mysql_query($query) or die(mysql_error());
$query = stripslashes($query);
?>
Unidade Federativa<br />
<select onChange="getUf(this);">
<option value="">Selecione uma UF</option><?php
while ($row = mysql_fetch_row($result)){
$uf_abrev = $row[2];
$uf_nome = $row[1];
?>
<option value="<? echo "$uf_abrev"; ?>" <? if ($uf==$uf_abrev){ echo "selected";} ?> onClick="retornaValor('<? echo "$uf_abrev"; ?>');" > <? echo "$uf_nome"; ?> </option> <?
}
?>
</select>
<?php
$query = "select * from tb_cidades where uf_mun='$uf'";
$result= mysql_query($query) or die(mysql_error());
$query = stripslashes($query);
if ($uf){ ?>
<br />
Cidades em <? echo "$uf"; ?><br />
<select>
<option value="">Selecione uma cidade</option> <?php
while ($row = mysql_fetch_row($result)){
$nome_mun = $row[1];
echo "<option value='$nome_mun' onClick=\"retornaValor2('$nome_mun');\"> $nome_mun </option>";
}
?>
</select>
<?php }
?>
</body>
</html>
Até aqui tudo Ok, o que não consigo é adicionar mais um <select> para cadastro de bairros associados à Cidades que estão associadas à Estados...
Desde já Agradeço...
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.