States City List via GET State Code

Asked

Viewed 364 times

0

I am trying to create a way that the user himself can register his City and his Neighborhood.

But I’m not sure how to make that when the user selects the desired state, only the cities related to the state he selected.

For example, I registered in the state of Rio de Janeiro the city of Armações dos Búzios, and in the state of São Paulo I registered the city of Araraquara.

But when I select the state of São Paulo to register the Neighborhood in the city of Araraquara, in the list of cities appears the city that was registered in Rio de Janeiro, ie the city of Armações dos Búzios also.

If your friends could run a scan on the codes I’m using, and tell me how to solve this problem, I’d be grateful.

Below I relate the Code.

State selection: .php state

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<?php
if(isset($_POST['enter'])){
$dp =  $_POST['cod_estado'];
echo "<script language='javascript'>window.location='cad_cidades.php?cod_estado=$dp'</script>";
}
?>
<form name="enter" method="post" action="" enctype="multipart/form-data">
<label>Selecione o estado em que será Cadastra a Cidade</label><br /><br />
<select name="cod_estado">
<?php
include 'conexao.php';
$select = mysql_query("SELECT * FROM estados ORDER BY nome ASC");
while($res = mysql_fetch_array($select)){
?>
<option value="<?php echo $estados =  $res['cod_estado'];?>"><?php echo $estados =  $res['nome'];?></option>
<?php } ?>
</select><br /><br />
<input class="input" type="submit" name="enter" value="Avançar"/>
</form>

Registration of Cities: cad_cidades.php

<?php
        $dp =  $_POST['cod_estado'];
        include "conexao.php";
        $cod_estado = $_GET['cod_estado'];
        $query = mysql_query("SELECT * FROM estados WHERE cod_estado = '$cod_estado'");
        $res = mysql_fetch_array($query);
        if(isset($_POST['cad_cid'])){
            $nome = $_POST['nome'];
            $uf = $_POST['uf']; 
            $cod_estado = $_GET['cod_estado'];  
        $sql = mysql_query("SELECT * FROM cidades WHERE cod_estado = '".$_POST['cod_estado']."' AND nome = '".$_POST['nome']."'");
        if(mysql_num_rows($sql)>=1){
            echo "<meta http-equiv='refresh' content='0; URL= cidade.php?cod_estado=".$cod_estado."'>
                  <script type=\"text/javascript\">
                  window.alert(\"Esta Cidade já esta Cadastrada! Por favor, tente outra Cidade! Obrigado!!!\");</script>";
        }else{
            $insert = mysql_query("INSERT INTO cidades VALUES ('$cod_estado', '$uf', 'NULL', '$nome')")or die(mysql_error());
        if($insert == ''){
            echo "<script language='javascript'>
            window.alert('Erro ao cadastrar Cidade!!!');
            </script>";
        }else{
            echo "<meta http-equiv='refresh' content='0; URL= cidade.php?cod_cidade=".$cod_cidade."'>
            <script language='javascript'>
            window.alert('Cidade cadastrada com sucesso!!!');
            </script>";
        }}}
        ?>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
        <?php
        include 'conexao.php';
            $uf = $_GET['uf'];
            $nome = $_GET['nome'];
            $cod_estado = $_GET['cod_estado'];
            $query = mysql_query("SELECT * FROM estados WHERE cod_estado = '$cod_estado'");
            $res = mysql_fetch_array($query);
        ?>  
        <label>Cadastre sua Cidade agora, no Estado - <?php echo $res['nome']; ?>/<?php echo $res['uf']; ?></label><br />
        <form name="cad_cid" action="" method="post" enctype="multipart/form-data" >
        <input size="1" type="hidden" name="cod_estado" value="<?php echo $cod_estado ?>" readonly="readonly"/>
        <input size="1" type="hidden" name="uf" value="<?php echo $res['uf']; ?>" readonly="readonly"/>
        <input type="text" name="nome" value="" /><br /><br />
        <input type="submit" name="cad_cid" value="Cadastre a Cidade" />
        </form>

List of Cities already Registered: city.php

            <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
        <?php
        if(isset($_POST['enter'])){
        $dp =  $_POST['cod_cidade'];
            echo "<script language='javascript'>window.location='cad_bairros.php?cod_cidade=$dp'</script>";
        }
        ?>
        <form name="enter" method="post" action="" enctype="multipart/form-data">
        <label>Selecione a cidade que será Cadastro o Bairro</label><br /><br />
        <select name="cod_cidade">
        <?php
        include 'conexao.php';
            $select = mysql_query("SELECT * FROM cidades ORDER BY nome ASC");
            while($res = mysql_fetch_array($select)){
        ?>
        <option value="<?php echo $cidades =  $res['cod_cidade'];?>"><?php echo $cidades =  $res['nome'];?></option>
        <?php } ?>
        </select><br /><br />
        <input class="input" type="submit" name="enter" value="Avançar"/>
        </form>

Registration of Neighborhoods: cad_bairros.php

            <?php
        $dp =  $_POST['cod_cidade'];
        include "conexao.php";
        $cod_cidade = $_GET['cod_cidade'];
        $query = mysql_query("SELECT * FROM cidades WHERE cod_cidade = '$cod_cidade'");
        $res = mysql_fetch_array($query);
        if(isset($_POST['cad_bai'])){
            $cod_estado = $_POST['cod_estado'];
            $nome_cidade = $_POST['nome_cidade'];
            $uf = $_POST['uf'];
            $nome = $_POST['nome'];
            $cod_cidade = $_GET['cod_cidade'];
        $sql = mysql_query("SELECT * FROM bairros WHERE cod_cidade = '".$_POST['cod_cidade']."' AND nome = '".$_POST['nome']."'");
        if(mysql_num_rows($sql)>=1){
            echo "<meta http-equiv='refresh' content='0; URL= cad_bairros.php?cod_cidade=".$cod_cidade."'>
                  <script type=\"text/javascript\">
                  window.alert(\"Este Bairro já esta Cadastrado! Por favor, confira o nome do Bairro! Obrigado!!!\");</script>";
        }else{
            $insert = mysql_query("INSERT INTO bairros VALUES ('$cod_estado', '$nome_cidade', '$uf', '$cod_cidade', 'NULL', '$nome')")or die(mysql_error());
        if($insert == ''){
            echo "<script language='javascript'>
            window.alert('Erro ao cadastrar Bairro!!!');
            </script>";
        }else{
            echo "<meta http-equiv='refresh' content='0; URL= bairro.php'>
            <script language='javascript'>
            window.alert('Cidade cadastrada com sucesso!!!');
            </script>";
        }}}
        ?>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
        <?php
           include 'conexao.php';
           $nome_cidade = $_GET['nome_cidade'];
           $uf = $_GET['uf'];
           $nome = $_GET['nome'];
           $cod_estado = $_GET['cod_estado'];
           $query = mysql_query("SELECT * FROM cidades WHERE cod_cidade = '$cod_cidade'");
           $res = mysql_fetch_array($query);
        ?>
        <label>Cadastre o Bairro agora, na Cidade - <?php echo $res['nome']; ?>/<?php echo $res['uf']; ?></label><br />
        <form name="cad_bai" action="" method="post" enctype="multipart/form-data" >
        <input size="1" type="hidden" name="cod_estado" value="<?php echo $res['cod_estado']; ?>" readonly="readonly"/>
        <input size="1" type="hidden" name="nome_cidade" value="<?php echo $res['nome']; ?>" readonly="readonly"/>
        <input size="1" type="hidden" name="uf" value="<?php echo $res['uf']; ?>" readonly="readonly"/>
        <input size="1" type="hidden" name="cod_cidade" value="<?php echo $cod_cidade ?>" readonly="readonly"/>
        <input type="text" name="nome" value="" /><br /><br />
        <input type="submit" name="cad_bai" value="Cadastre o Bairro" />
        </form>

List of registered neighborhoods: bairro.php

            <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
        <form name="enter" method="post" action="" enctype="multipart/form-data">
        <label>Selecione a cidade que será Cadastro o Bairro</label><br /><br />
        <select name="cod_bairro">
             <?php
             include 'conexao.php';
             $select = mysql_query("SELECT * FROM bairros ORDER BY nome ASC");
             while($res = mysql_fetch_array($select)){
             ?>
        <option value="<?php echo $bairros =  $res['cod_bairro'];?>"><?php echo $bairros =  $res['nome'];?></option>
             <?php } ?>
        </select><br />
        <input class="input" type="submit" name="enter" value=""/>

        </form>

I would like to thank you in advance for your attention.

  • You will need to use ajax when some state is selected an asynchronous call to the server returns cities

  • Hello Marcelo! It works by pulling page by page. With ajax it wouldn’t look like the combobox? How can I register cities and neighborhoods? I’m sorry, but I’m layman on this subject, I’m still learning , if you can give an example I’ll be grateful. And thank you for your attention Marcelo.

  • Your problem is not this whole code, revise your code was put php doing javascript echo... separates responsibilities, you will get a better view.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.