Ir para conteúdo

POWERED BY:

Arquivado

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

Joaopaulosd

Select que depende de outro

Recommended Posts

Galera, me da uma ajuda aki

 

tenho 3 tabelas : cidade,local, e uma terceira tabela gerada das duas , cidade_local

 

tenho 2 select's no form, um para cidade e outro para local.

 

queria que quando eu selecionar uma cidade, aparecesse no select de local apenas os locais relacionados a essa cidade ,

 

como que eu faço isso?

ajuda, dica, material .. td é bem vindo, sou iniciante..

 

vlw galera, abcs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw pela resposta..

 

mas queria um exemplo mais simples so com javascript msmo tem como?

 

abraço a tods

 

achei oque eu quero mais ou menos, so tem uma duvida

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<?php $conexao = mysql_connect("localhost","root","") or die ("Não foi possível fazer a conexão com o banco");
mysql_select_db("teste");
</head>

<body>
<td>Cidade</td>
<tr>
<td><select id="combo1" name="combo1" onchange="verifica()">
<?php
              
    		$lista="select cidade,codcidade from cidade";
           		$sql=mysql_query($lista);
				while($resultado=mysql_fetch_array($sql))
				{
					 echo "<option>$resultado[cidade]</option>";
					 
					 
				}
			
			?>
			
		 
	   </select></td>
	<td>Local</td>
         
	<td><select id="combo2" name="combo2" disabled="disabled">
                    <?php 
	                      function combo2(){
				$lista="select local from local where codigo=1";
           		        $sql=mysql_query($lista);
				while($resultado=mysql_fetch_array($sql))
				{
					 echo "<option>$resultado[local]</option>";
				}
			
			      }?>
			
		 
	   </select></td>
  </tr>


<script>
function verifica($codigo) {
combo = document.getElementById('combo1');
combo2 = document.getElementById('combo2');
	if (combo.value =="Muriae" ) { // [color="#FF0000"][size="3"]aki como faço para chamar a função do php function combo2[/size][/color] }
else { //outro teste }
}
</script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai você precisa de ajax, não tem como escapar..

 

exemplo bem simples de criação do objeto xmlHttpRequest(sem uso de fw)

http://forum.imasters.com.br/index.php?/topic/384836-carregando-pagina-com-ajax-nao-consigo-encontrar-o-erro/page__view__findpost__p__1498911

 

para fazer 'sem ajax', você já teria que ter todos os dados populados num array, na página que já carregou.

porém essa é uma solução, digamos 'deselegante'.

 

ajax sem jquery, ainda mais com manipulação de jSON como propus, certamente ficará mais extenso (codigo cliente), e complexo. (tirando a sintaxe jquery)

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao estou conseguindo ... galera me da mais uma força ae

 

 

estou fazendo assim o:

 

arquivo: Index.php

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
      
      $(document).ready(function(){
         
         $("select[name=cidade]").change(function(){
            $("select[name=local]").html('<option value="0">Carregando...</option>');
            
            $.post("cidades.php",
                  {:$(this).val()},
                  function(valor){
                     $("select[name=local]").html(valor);
                  }
                  )
            
         })
      })
      
</script>
</head>

<body>
<form action="" method="post">
   <select name="cidade">
       <option value="0">Escolha um cidade</option>
        <?php
         $conexao = mysql_connect("localhost","root","") or die ("Não foi possível fazer a conexão com o banco");
		mysql_select_db("enic");
         
         $sql = "SELECT cidade from cidade ORDER BY cidade ASC";
         $qr = mysql_query($sql) or die(mysql_error());
         while($ln = mysql_fetch_assoc($qr)){
            echo '<option value="'.$ln['codcidade'].'">'.$ln['cidade'].'</option>';
         }
      ?>
       
    </select>
   
    <select name="local">
       <option value="0" disabled="disabled">Escolha um cidade Primeiro</option>
    </select>
</form>
</body>
</html>

cidades.php

 

 

<?php

$conexao = mysql_connect("localhost","root","") or die ("Não foi possível fazer a conexão com o banco");
		mysql_select_db("enic");

$cidade = $_POST['cidade'];

$sql = "select c.cidade,loc.local from cidade c inner join cidadelocal cd on c.codcidade=cd.codcidade inner join 
local loc on cd.codlocal=loc.codlocal  where c.cidade like '%$cidade%'";
$qr = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($qr) == 0){
   echo  '<option value="0">'.htmlentities('Não cidades nesse estado').'</option>';
   
}else{
   while($ln = mysql_fetch_assoc($qr)){
      echo '<option value="'.$ln['codcidade'].'">'.$ln['cidade'].'</option>';
   }
}

?>

pessoal, não tenho mto conheçimento de javascript e preciso mto disso.. abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

siga o exemplo do link que postei em #2

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.