Ir para conteúdo

Arquivado

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

aantunesl

Populando selects de cidades

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mude

$.getJSON('cidades.ajax.php?search=',{tb_estados: $(this).val(), ajax: 'true'}, function(j){

Para:

$.getJSON('cidades.ajax.php?tb_estados=' + $(this).val(), function(j){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei amigo, mas não foi

 

 

Mude

$.getJSON('cidades.ajax.php?search=',{tb_estados: $(this).val(), ajax: 'true'}, function(j){

Para:

$.getJSON('cidades.ajax.php?tb_estados=' + $(this).val(), function(j){

Tentei amigo, mas não foi. Não está carregando =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Mude

$.getJSON('cidades.ajax.php?search=',{tb_estados: $(this).val(), ajax: 'true'}, function(j){

Para:

$.getJSON('cidades.ajax.php?tb_estados=' + $(this).val(), function(j){

 

 

 

 

Veja a estrutura das tabelas no banco de dados:

 

tabela "tb_estados"
1 id int(4) UNSIGNED ZEROFILL Não None AUTO_INCREMENT Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
2 estado int(2) UNSIGNED ZEROFILL Não 00 Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
3 uf varchar(4) utf8_bin Não Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
4 nome varchar(50) utf8_bin Não Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
5 dateinc timestamp Não CURRENT_TIMESTAMP Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais Com os seleccionados: Todos / Nenhum Com os selec
tabela "tb_cidades"
1 id int(2) UNSIGNED ZEROFILL Não None AUTO_INCREMENT Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
2 uf varchar(10) utf8_bin Não Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
3 nome varchar(20) utf8_bin Não Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais
4 dateinc timestamp Não CURRENT_TIMESTAMP Muda Muda Elimina Elimina Browse distinct values Browse distinct values Primária Primária Show more actions Mais Com os seleccionados: Todos / Nenhum Com os seleccionados: Procurar Procurar Muda Muda Elimina Elimina Primária Primária Único Único Índice Índice

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.