Ir para conteúdo
Fórum Script Brasil
  • 0

Pegar valor escolhido em um combobox para executar um select em outro


FabricioRios

Pergunta

Bom dia pessoal, sou iniciante em php e estou com um problema que não consigo resolver, tenho dois combobox que buscar valores em tabelas postgres, eu gostaria de selecionar um item no primeiro combobox e a partir desta seleção fazer o select para carregar o segundo combobox, segue abaixo o código que estou utilizando.

<form id="form1" name="form1" method="post" action=""> 
<html>
<head>
<title>CADASTRO DE CONTAS</title>
<link href="../st1.css" rel="stylesheet" type="text/css">
&lt;script>
<?
function pega_entrada()
 echo "teste $valor";

?>
</script>

</head>
<body>
<!-- CONFIGURAÇÃO DA PÁGINA-->
<table width="60%" height="30%"  border="0" align="left" cellpadding="0" cellspacing="1" bgcolor="<? echo $cor_fundo;?>" class="borda2">
    <tr align="center" valign="middle">
        <td height="30" colspan="3" bgcolor="<? echo $cor_titulo;?>" class="subtitulo">CADASTRO DE CONTAS CONTABEIS</td>
    </tr>
<!-- CRIA UM CAMPO SELECT COM OS TIPOS DE MOVIMENTOS-->    
    <tr bgcolor="<? echo $cor_table;?>">
      <td height="20" bgcolor="<? echo $cor_table;?>" class="texto1"><b>Selecione o movimento:</b></td>
      <td height="20" colspan="2" bgcolor="<? echo $cor_table;?>"> 
<select name="movimento" onChange="pega_entrada()    > 
<?php 
//ABRE A CONEXÃO COM O BANCO DE DADOS
include "conecta.inc";
//INICIA O PROCESSO DE CONSULTAS DOS GRUPOS CONTÁBEIS
$sql = "select * from tipomovimento"; //aqui faz a consulta no banco de dados 
$resultado = pg_query($sql); //aqui é o retorno da consulta 
    $linhas = pg_num_rows ($resultado);   //conta a quantidade de campos na consulta
        
if($resultado)//teste se houve resultado entra no while 
{ 
while($linhas = pg_fetch_array($resultado)){ //monta um vetor colocando todos os resultados em $linhas 
?> 
<option value="<?php $linhas['tipomovimento'];//aqui é o valor geralmente se coloca o id da tabela ?>" 
<?php if($linhas['tipomovimento'] == $_POST['tipomovimento']){ echo "selected"; /*aqui eu testo e vejo se alguma opção foi selecionada eu a mantenho selecionada*/ } ?>> 
<?php echo $linhas['tipomovimento']; /*aqui é a parte de exibição a informação que o usuario ira ver na tela "as opções"*/ ?> 
<?php $segundo_combo = $_POST["movimento"];?>
</option> 
<?php } } ?> 

</select> 
</tr>
<!-- CRIA UM CAMPO SELECT COM OS GRUPOS CONTÁBEIS-->    
    <tr bgcolor="<? echo $cor_table;?>">
      <td height="20" bgcolor="<? echo $cor_table;?>" class="texto1"><b>Selecione o grupo:</b></td>
      <td height="20" colspan="2" bgcolor="<? echo $cor_table;?>"> 
<select name="materiais"> 
<?php 
//ABRE A CONEXÃO COM O BANCO DE DADOS
//INICIA O PROCESSO DE CONSULTAS DOS GRUPOS CONTÁBEIS
$sql = "select * from codmovimento where tipomovimento=$segundo_combo"; //aqui faz a consulta no banco de dados 
$resultado = pg_query($sql); //aqui é o retorno da consulta 
    $linhas = pg_num_rows ($resultado);   //conta a quantidade de campos na consulta
        
if($resultado)//teste se houve resultado entra no while 
{ 
while($linhas = pg_fetch_array($resultado)){ //monta um vetor colocando todos os resultados em $linhas 
?> 
<option value="<?php $linhas['codmovimento'];//aqui é o valor geralmente se coloca o id da tabela ?>" 
<?php if($linhas['codmovimento'] == $_POST['codmovimento']){ echo "selected"; /*aqui eu testo e vejo se alguma opção foi selecionada eu a mantenho selecionada*/ } ?>> 
<?php echo $linhas['grupomovimento']; /*aqui é a parte de exibição a informação que o usuario ira ver na tela "as opções"*/ ?> 
</option> 
<?php $valor = $_POST['movimento'];?>
<?php } } ?> 
</select> 
</tr>
<!-- CRIA UM CAMPO SELECT COM OS TIPOS DE MOVIMENTOS-->    
    <tr bgcolor="<? echo $cor_table;?>">
      <td height="20" bgcolor="<? echo $cor_table;?>" class="texto1"><b>Selecione o movimento:</b></td>
      <td height="20" colspan="2" bgcolor="<? echo $cor_table;?>"> 
    <?php  echo "teste $valor";?>
    <td>
    
    
</tr>
      <?php
    pg_close($conexao);
?>
</table>
</body>
</html>
</form>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Sua duvida está mais para javascript

mas vamos la

<?php
/* criando o select */
function Numero($N)
{
 (is_numeric($N)) ? ($R=false) : ($R=True);
 ($N<=0) ? ($R=false) : ($R=true);
 if (!$R)
{
 $Retorno="Erro : dados enviado não é um numero valido";
}
$Retorno="<select name='numero' id='numero' onchange="alert(document.getElementById('numero').options[document.getElementById('numero').selectedIndex].value); >";
for($i=1; $i<=$N; $i++)
   {
     $Retorno.="<option value='$i'> $i</option>";
   }
$Retorno.="</select>";
return $Retorno;
}

echo Numero(16);

essa função irá criar um select com a quantidade de opções igual ao numero fornecido; ao selecionar uma dessas opções diferente a qual já está selecionada irá da um alert com o value da opção.

no seu caso basta modificar a sua necessidade e a resposta para a sua pergunta é essa

document.getElementById('Id_do_select').options[document.getElementById('Id_do_select').selectedIndex].value;

até mais

Editado por *FIT*
Adicionar a tag [code]! Retirar quote desnecessário! *FIT*
Link para o comentário
Compartilhar em outros sites

  • 0

Outro exemplo:

&lt;script language="JavaScript">
function refresh() 
{     <!--  nome_do_form.action -->
    incluir.action="nome_deste_arquivo.php";      <!-- Deve ser o nome deste arquivo, refresh para esta mesma página  -->
    incluir.submit();
}
</script>

<form name='incluir' ... />
<select name="grupo" LANGUAGE="JAVASCRIPT" ONCHANGE="refresh()">   <!--  Função para recarregar a página com o grupo escolhido  -->
    <option>Selecione um Grupo    </option>
        <?php
    $result1=mysql_query("SELECT * FROM grupo");
    $total = mysql_num_rows($result1);
    $i = 0;
    while($i != $total){    
        $mos_rs1=mysql_fetch_assoc($result1);   ?>
            <option value="<?php echo $mos_rs1['idGrupo']; ?>" <?php if ($_POST['grupo'] == $mos_rs1['idGrupo']){ echo "selected";}?> >
        <?php echo $mos_rs1['descricao']; ?>
        </option> 
<?php     $i = $i + 1;
    }   ?>
</select>

<select name="id_Produto" >
   <option>Selecione um produto</option>
   <?php
      $result2=mysql_query("SELECT * FROM produto WHERE idGrupo_FK =".$_POST['grupo']); <!--  Após o refresh do combo acima este select vai usar o grupo escolhido acima para filtrar os produtos que fazem parte do grupo escolhido    -->
      $total = mysql_num_rows($result2);
      $i = 0;
      while($i != $total){
         $mos_rs2=mysql_fetch_assoc($result2); ?>
         <option value="<?php echo $mos_rs2['id']; ?>"><?php echo $mos_rs2['descricao']; ?></option> 
         <?php 
         $i = $i + 1;
      }
   ?>
</select>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...