Ir para conteúdo

POWERED BY:

Camilavip

Members
  • Total de itens

    58
  • Registro em

  • Última visita

Reputação

0 Comum

1 Seguidor

Sobre Camilavip

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

  1. Camilavip

    Preencher combo box em três níveis

    Peguei um em um site internacional e fiz várias mudanças, mas ele está trazendo o resultado 0 e não o nome das cidades e bairros. praticamente funciona tudo. Quando seleciono o estado ele traz um 0, visto que tenho duas cidades somente, ele não traz o nome da cidade. Se seleciono o 0 referente a Belo Horizonte, ele me diz que não tem bairros, porque não tem mesmo nessa tabela que tenho, se seleciono Rio de Janeiro que também aparece 0 e que tem dois bairros, ele traz dois 0 Deixando tudo aqui completo, que é o arquivo index.php, o ajaxdata.php, as tabelas do banco e o arquivo de conexão, porém como referi acima, ele está funcionando, porém só não traz os nomes das cidades ou dos bairros, e sim o 0, então é um detalhe que não estou acertando para ao invés do 0 vir os nomes Não sei onde estou errando. No index.php <!DOCTYPE html> <html lang="en"> <head> <title>Dynamic Dependent Select Box using jQuery, Ajax and PHP</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> </head> <body> <?php include_once 'config.php'; $query = "SELECT * FROM estados Order by estado"; $result = $db->query($query); ?> <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4"> <form> <div class="form-group"> <label for="email">Estado</label> <select name="id_estado" id="id_estado" class="form-control" onchange="FetchCidade(this.value)" required> <option value="">Selecione o Estado</option> <?php if ($result->num_rows > 0 ) { while ($row = $result->fetch_assoc()) { echo '<option value='.$row['id_estado'].'>'.$row['estado'].'</option>'; } } ?> </select> </div> <div class="form-group"> <label for="pwd">Cidade</label> <select name="id_cidade" id="id_cidade" class="form-control" onchange="FetchBairro(this.value)" required> <option>Selecione a Cidade</option> </select> </div> <div class="form-group"> <label for="pwd">Bairro</label> <select name="id_bairro" id="id_bairro" class="form-control"> <option>Selecione o Bairro</option> </select> </div> </form> </div> </div> </div> <script type="text/javascript"> function FetchCidade(id){ $('#id_cidade').html(''); $('#id_bairro').html('<option>Selecione o bairro</option>'); $.ajax({ type:'post', url: 'ajaxdata.php', data : { id_estado : id}, success : function(data){ $('#id_cidade').html(data); } }) } function FetchBairro(id){ $('#id_bairro').html(''); $.ajax({ type:'post', url: 'ajaxdata.php', data : { id_cidade : id}, success : function(data){ $('#id_bairro').html(data); } }) } </script> </body> </html> ajaxdat.php <?php include_once 'config.php'; if (isset($_POST['id_estado'])) { $query = "SELECT * FROM cidades where id_estado=".$_POST['id_estado']; $result = $db->query($query); if ($result->num_rows > 0 ) { echo '<option value="">Selecione a cidade</option>'; while ($row = $result->fetch_assoc()) { echo '<option value='.$row['id_cidade'].'>'.$row['cidade'].'</option>'; } }else{ echo '<option>Cidade não encontrada</option>'; } }elseif (isset($_POST['id_cidade'])) { $query = "SELECT * FROM bairros where id_cidade=".$_POST['id_cidade']; $result = $db->query($query); if ($result->num_rows > 0 ) { echo '<option value="">Selecione o Bairro</option>'; while ($row = $result->fetch_assoc()) { echo '<option value='.$row['id_bairro'].'>'.$row['bairro'].'</option>'; } }else{ echo '<option>Bairro não encontrado</option>'; } } As tabelas -- -------------------------------------------------------- -- -- Table structure for table `bairros` -- CREATE TABLE `bairros` ( `id_bairro` int(11) NOT NULL, `id_cidade` varchar(155) NOT NULL, `bairro` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Copacabana'); -- -------------------------------------------------------- -- -- Table structure for table `estados` -- CREATE TABLE `estados` ( `id_estado` int(11) NOT NULL, `estado` varchar(155) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); -- -------------------------------------------------------- -- -- Table structure for table `cidades` -- CREATE TABLE `cidades` ( `id_cidade` int(11) NOT NULL, `id_estado` varchar(155) NOT NULL, `cidade` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Dumping data for table `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); -- -------------------------------------------------------- E o arquivo de conexao apenas para deixar tudo aqui <?php $host = 'localhost'; $username = 'usuario'; $pass = 'senha'; $db = 'banco'; $db = new mysqli($host,$username,$pass,$db); if ($db->connect_error) { die("Connection Failed". $db->connect_error); } ?>
  2. Camilavip

    Preencher combo box em três níveis

    Omar, você ainda não entendeu, eu não preciso catalogar os dados, eles vem do banco de dados, eu que cadastro, então não há necessidade de ter tudo, só vai ter o que eu cadastrar. O problema seria em como fazer esse select em 3 níveis, em que quando eu seleciono um ele puxa os outros que estão atrelados ao primeiro.
  3. Camilavip

    Preencher combo box em três níveis

    Com estados e cidades eu consigo, pois já tenho um que peguei na internet e adaptei. Mas no caso como mostrei acima não é ter um que já tenha, como visto nas tabelas no banco de dados, tantos os estados, cidades e bairros são cadastrados, e não precisando que já venham todos do Brasil
  4. Camilavip

    Preencher combo box em três níveis

    Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli Em estados no banco está assim CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.