Ir para conteúdo

Arquivado

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

Gabriel Duarte

Como Trazer dados de uma tabela por outro dado escolhido?

Recommended Posts

Olá, estou iniciando no ramo de programador, conheço de html, css, php, mas não conheço nada de java, e estou precisando de uma utilidade que só pode ser feita com java. Gostaria de que alguém pudesse me ajudar no seguinte problema.

 

Preciso que apos o usuario escolha um dado no primeiro select, apareça todos os dados relacionados a esse dado no segundo select.

 

 

Código aonde preciso dessa funcionalidade:

<!DOCTYPE hmtl>
<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <title>Cadastro</title>
        <link rel="stylesheet" type="text/css" href="CSS/layout.css">
        <link rel="stylesheet" type="text/css" href="CSS/menu.css">
        <link rel="stylesheet" type="text/css" href="CSS/cadastro.css">
    </head>
    <body>
        <tr>
            <td><h4>Estado:</h4></td>
            <td>
                <select name="estados">
                    <option>-- Selecione um Estado --</option>

                    <?php
                        require("Conectar.php");
                            $resultado = mysqli_query($conexao, "SELECT id_estados, uf FROM `estados` ORDER BY uf;");
                            if($resultado == false){
                            echo("erro");
                            }
                        else{
                            while ($row = mysqli_fetch_array($resultado)) {
                                echo("<option value='$row[id_estados]'>$row[uf]</option> <br>");
                            }
                        }
                    ?>

                </select>
            </td>
        </tr>
        <tr>
            <td><h4>Cidade:</h4></td>
            <td>
                <select name="cidade"> 
                    <option>-- Selecione uma Cidade --</option>
                    <?php
                        require("Conectar.php");
                            $resultado = mysqli_query($conexao, "SELECT id_cidades, nome_cidades FROM `cidades` ORDER BY nome_cidades;");
                            if($resultado == false){
                            echo("erro");
                            }
                        else{
                            while ($row = mysqli_fetch_array($resultado)) {
                                echo("<option name='cidade' value='$row[id_cidades]'>$row[nome_cidades]</option> <br>");

                            }
                        }
                    ?>

                </select>
            </td>
        </tr>
    </body>
</html>

preciso que apos selecionar um estado dentro do select, apareça todas as cidades desse estado no outro select.

 

Agradeço se puderem me ajudar, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom tenho essa função que fiz com jQuery, quem nem utiliza php, e faz o lance estado/cidade se quiser dar uma olhada

 

https://drive.google.com/file/d/0B_X1f5SCPajma1J0dU9fM3hGbGc/view?usp=sharing

 

Mais Utilizando ai direto do seu BD seria algo assim:

 

Crie um arquivo para obter as cidades:

 

ObterCidade.php

<?php
	require("Conectar.php");
	
	$Estado = addslashes($_GET['estado']);
	
	//SEU BD TEM QUE TER O ESTADO DA CIDADE, VOU SIMULAR QUE TENHA COM nome_estado
	
	$resultado = mysqli_query($conexao, "SELECT id_cidades, nome_cidades FROM `cidades` WHERE nome_estado = '".$Estado."'  ORDER BY nome_cidades;");
	
	if($resultado == false){
		echo("erro");
	}else{
		while ($row = mysqli_fetch_array($resultado)) {
			echo("<option name='cidade' value='$row[id_cidades]'>$row[nome_cidades]</option> <br>");

		}
	}
?>
		<tr>
            <td><h4>Estado:</h4></td>
            <td>
                <select name="estados">
                    <option>-- Selecione um Estado --</option>

                    <?php
                        require("Conectar.php");
                            $resultado = mysqli_query($conexao, "SELECT id_estados, uf FROM `estados` ORDER BY uf;");
                            if($resultado == false){
                            echo("erro");
                            }
                        else{
                            while ($row = mysqli_fetch_array($resultado)) {
                                echo("<option value='$row[id_estados]'>$row[uf]</option> <br>");
                            }
                        }
                    ?>

                </select>
            </td>
        </tr>
        <tr>
            <td><h4>Cidade:</h4></td>
            <td>
                <select name="cidade"> 
                    <option>-- Selecione um Estado Acima --</option>
                </select>
            </td>
        </tr>
        
        <script>
		$(document).ready(function(e) {
        	$('[name="estados"]').on('change',function(){
				var Estado = $(this).val();
				$.get( "ObterCidade.php", { estado:Estado }, function( data ) {
				  $('[name="cidade"]').html(data);
				});
			});    
        });
		</script>

No seu Arquivo ai altere essa parte:

Fiz rapido, porém se não funcionar ja te uma ideia de como seria!

 

COmo usei jQuery, não esquece de incluir o jQUery no seu HTML! Uso o hosteado pelo Google geralmente

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

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.