Você terá que efetuar outra consulta mas desta vez passará com parâmetro o estado que você escolheu no primeiro combo.
Então sua select tera uma clausula “WHERE” , ou seja:
select CIDADES where ESTADO = <estado escolhido no combo>
Paulo_Faulstich
Simples na hora de tu montar o combo de cidade passe o código do estado que você selecionou no combo de estado.
Alguma coisa do tipo.
$sql = "SELECT cadastro, cidade FROM cad_cidade Where cd_estado = $VarivelCodigoQueVeioDoComboDeEstado;";
Tua tabela de estado se relaciona com esta de cidade né?
Flw.
ClovisCmb
Porque na parte selecione um estado eu n implementei nenhum codigo ainda…pq quando ele selecionar SP no combo as cidades so tem q ser de SP…como vou dar o refresh sem usar o botaum?
Paulo_Faulstich
Cara não tem como fugir do refresh se não fores usar ajax.
Sem usar ajax tu pegaria o evento “onChange” do teu combo de estado. Faria fazer uma nova consulta no banco ou mais conhecido como um submit para que os dados sejam carregados novamente com os valores a partir do teu combo de estado.
Se quiseres usar ajax não sera preciso o refresh é bem mais legal e profissional, em contra partida precisa mais estudo. Hehe.
<?phpif($hidAction=="filtrar"){include"connect.php";$sql="SELECT campo1,campo2 FROM tabela where campo = $campo;";//campo do form da combo 1print"<td><select name='combo2' >";$qry=mysql_query($sql);while($v=mysql_fetch_array($qry)){print"<option value=$v[campo1]>$v[campo2]</option>";}}
ClovisCmb
não funcionou ainda…
<html><head><title>CadastrarBairro</title><script>functionfiltrar(){
document.forms[0].hidAction.value="filtrar";
document.forms[0].action="<?phpecho$PHP_SELF?>";
document.forms[0].submit();
}
</script></head><body><formaction='inserirBairro.php'method='POST'><tableborder='0'align='center'><tr><td>SELECIONEOESTADO:
<selectname='combo1'onChange="filtrar();"><?phpinclude"connect.php";$sql="SELECT estado.cod_uf,estado.nome_uf FROM ESTADO;";$qry=mysql_query($sql,$connect);while($ve=mysql_fetch_array($qry)){print"<option value=$ve[cod_uf]>$ve[nome_uf]</option>";}?></select></td><td>SELECIONEACIDADE:
<?phpinclude"connect.php";if($hidAction=="filtrar"){$sql="SELECT cad_cidade.cod_uf,cad_cidade.cidade,cad_cidade.cadastro,estado.cod_uf FROM cad_cidade,estado where campo = $_POST[combo1];";print"<td><select name='combo2' >";$qry=mysql_query($sql);while($v=mysql_fetch_array($qry)){print"<option value=$v[cadastro]>$v[cidade]</option>";}}?></select></td></tr><tr><td>BAIRRO:<inputtype='text'name='bairro'></td></tr><tr><td><inputtype='Submit'value='Cadastrar Bairro'></td></table></body></html>
ClovisCmb
ops… no campo eu ja rokei por
cad_cidade.cod_uf = $_POST[combo1]
Pedrosa
Não precisa repetir toda hora esse include do connect.php deixa somente no inicio da página, de um print na query e veja como esta sendo montada e jogue no seu banco dados e rode e veja o que a query retorna.
E sempre use aspas nos values dos campos para evitar problemas.
ClovisCmb
Bem com esse codigo agora…Se eu escolho o estado Clico no Submit ele retorna as cidades mais não deixa selecionado certo…
<html><head><title>CadastrarBairro</title></head><body><formaction='frmCadastrarBairro.php?var=combo1'method='POST'><tableborder='0'align='center'><tr><td>SELECIONEOESTADO:
<td><selectname='combo1'><?phpinclude"connect.php";$sql="SELECT estado.cod_uf,estado.nome_uf FROM ESTADO;";$qry=mysql_query($sql,$connect);while($ve=mysql_fetch_array($qry)){print"<option value=$ve[cod_uf]>$ve[nome_uf]</option>";}?></select></td><td>SELECIONEACIDADE:</td><?phpinclude"connect.php";if(isset($_GET['var'])){$var=$_GET['var'];}if(isset($_POST['combo1'])){$sql="SELECT cad_cidade.cod_uf,cad_cidade.cidade,cad_cidade.cadastro,estado.cod_uf FROM cad_cidade,estado WHERE cad_cidade.cod_uf = $_POST[combo1] and cad_cidade.cod_uf=estado.cod_uf;";print"<td><select name='combo2' >";$qry=mysql_query($sql);while($v=mysql_fetch_array($qry)){print"<option value=$v[cadastro] selected>$v[cidade]</option>";}}?></select></td></tr><tr><td>BAIRRO:<inputtype='text'name='bairro'></td></tr><tr><td><inputtype='Submit'value='Cadastrar Bairro'></td></table></body></html>
Pedrosa
Agora precisa colocar um if na primeira combo dentro do <option value