Populando selects de cidades
Senhores, me ajudem a descobrir qual o B.O. nesse sistema:
Form de cadastro >> Selects ( estado e cidade ) >> db
Tenho um formulário de cadastro, que grava no MySQL as informações.
Nos campos ESTADO e CIDADE, quero que, ao selecionar o estado, que seja carregado as cidades daquele determinado estado. Já tenho no MySQL uma tabela com todos os estados e cidades do Brasil, porem, falta fazer o formulário executar a consulta e gravar no banco, no cadastro do usuário.
Onde estou errando?
Sege o código:
FORM:
<!-- form -->
</section>
<!-- content -->
</div>
<div id="register" class="animate form">
<section class="login_content">
<form style="margin-bottom: 0px !important;" class="form-horizontal" action="regadmin.php" method="post">
<div><p><img src="../logoadmin.png"></p></div>
<div>
<input name="username" id="username" type="text" class="form-control" placeholder="Usuário" required="" />
</div>
<div>
<input name="admin_email" id="admin_email" type="text" class="form-control" placeholder="Email" required="" />
</div>
<div>
<input name="telefone" id="telefone" type="text" class="form-control" placeholder="ddd+telefone" required="" />
</div>
<div>
<input name="celular" id="celular" type="text" class="form-control" placeholder="ddd+celular" required="" />
</div>
<div>
<input name="password" id="password" type="password" class="form-control" placeholder="Senha" required="" />
</div>
<div>
<label for="tb_estados">Estado:</label>
<select name="tb_estados" id="tb_estados">
<option value=""></option>
<?php
$sql = "SELECT tb_estados, uf
FROM estados
ORDER BY uf";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
echo '<option value="'.$row['tb_estados'].'">'.$row['uf'].'</option>';
}
?>
</select>
<label for="tb_cidades">Cidade:</label>
<span class="carregando">Aguarde, carregando...</span>
<select name="tb_cidades" id="tb_cidades">
<option value="">-- Escolha um estado --</option>
</select>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3');
</script>
<script type="text/javascript">
$(function(){
$('#tb_estados').change(function(){
if( $(this).val() ) {
$('#tb_cidades').hide();
$('.carregando').show();
$.getJSON('cidades.ajax.php?search=',{tb_estados: $(this).val(), ajax: 'true'}, function(j){
var options = '<option value=""></option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].tb_cidades + '">' + j[i].nome + '</option>';
}
$('#tb_cidades').html(options).show();
$('.carregando').hide();
});
} else {
$('#tb_cidades').html('<option value="">– Escolha um estado –</option>');
}
});
});
</script>
</div>
<div>
<button class="btn btn-default submit" data-dismiss="modal" type="submit">Cadastrar ></button>
</div>
<div class="clearfix"></div>
<div class="separator">
<p class="change_link">Você é administrador? Então -
<a href="#tologin" class="to_register"> <b>Entre agora!</b> </a>
</p>
<div class="clearfix"></div>
<br />
</div>
</form>
<!-- form -->
REGADMIN.PHP:
<?php
//PREENCHA OS DADOS DE CONEXÃO A SEGUIR:
$host= "*******************";
$db_name="***************";
$db_username="**************";
$db_password="***************";
// RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO !
$username = $_POST ["username"];
$admin_email = $_POST ["admin_email"];
$telefone = $_POST ["telefone"];
$celular = $_POST ["celular"];
$password = $_POST ["password"];
//conectando com o localhost - mysql
$conexao = mysql_connect($host,$db_name,$db_password);
if (!$conexao)
die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error());//conectando com a tabela do banco de dados
$banco = mysql_select_db($db_name,$conexao);
if (!$banco)
die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error());
$query = "INSERT INTO `admin` ( `username` , `password` , `admin_email` , `telefone` , `celular` , `admin_id` )
VALUES ('$username', '$password', '$admin_email', '$telefone', '$celular', 'admin_id')";
mysql_query($query,$conexao);
echo "<p align=”center”><h1>Cadastro realizado com sucesso!</p> <p>Aguarde!! Nossa central, ativará seu cadastro.</h1></p>";
?>
</body>
</html>
CIDADES.AJAX.PHP:
<?php
header( 'Cache-Control: no-cache' );
header( 'Content-type: application/xml; charset="utf-8"', true );
$tb_estados = mysql_real_escape_string( $_REQUEST['tb_estados'] );
$cidades = array();
$sql = "SELECT tb_cidades, nome
FROM cidades
WHERE estados_tb_estados=$tb_estados
ORDER BY nome";
$res = mysql_query( $sql );
while ( $row = mysql_fetch_assoc( $res ) ) {
$cidades[] = array(
'tb_cidades' => $row['tb_cidades'],
'nome' => $row['nome'],
);
}
echo( json_encode( $cidades ) );
Alguem consegue me ajudar?
Abraço
Discussão (4)
Carregando comentários...