Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago_grieger

Capturar dados de combobox e salvar dados em uma variavel e fazer um select

Recommended Posts

Boa tarde, estou me deparando com um problema simples em php, tenho os dados de minha tabela de provas em uma combobox, conforme script listar_notas.php, o que eu quero fazer e não estou conseguindo, é, capturar o id dessa combobox, conforme variavel $teste, e após isso fazer um select e exibir os dados na tela, conforme script lanc_notas.php,  o que será que estou fazendo de errado, estou chamando a variavel $teste = $_POST['id_prova']; no lugar errado?...alguém ai tem uma luz, sou iniciante em php...

 

listar_notas.php

<?php   
    
    include_once("conexao.php");
    if (isset($_SESSION['usuarioId'])){
        $userLogado = $_SESSION['usuarioId'];
    }
     
?>   

<link href="css/app.css" rel="stylesheet">
<div class="container theme-showcase font_roboto" role="main">      
  <div class="page-header">
    <h2>Lista de Notas</h2>
  </div>

  <!--Carrego aqui o select das provas cadastradas -->
 

    <div class="row espaco">  
          <label class="col-sm-2 control-label">Prova</label>       
            <div class="col-sm-10">
                <select class="form-control font_roboto" name="id_prova">
                 <?php
                  #Include the connect.php file
                  /* check connection */
                  if (mysqli_connect_errno()){
                       printf("Connect failed: %s\n", mysqli_connect_error());
                       exit();
                  }
                  $query = "SELECT * FROM provas
                            where provas.instrutor = '$userLogado' order by 'descricao'";
                  $result = mysqli_query($conectar,$query);
                              
                  while ($rows = mysqli_fetch_array($result)) {    
                                   
                          
                         echo "<option value=" .$rows['id']. ">" .$rows['descricao']."</option>";
                         
                       
                  }

                  ?> 
                </select>
              </div>                        
        </div>     


   <div class="row espaco">
        <div class="pull-right">
            <?php
            $teste = $_POST['id_prova'];
            ?>
            <a href="administrativo.php?link=15"><button type='button' class='btn btn-success estilobotao'>Carregar</button></a>
            
        </div>

    

</div> <!-- /container -->

 

 

 

lanc_notas.php

<?php  
    
    include_once("conexao.php");
    if (isset($_SESSION['usuarioId'])){
        $userLogado = $_SESSION['usuarioId'];
    }
   
    
    
?>   
 

<link href="css/app.css" rel="stylesheet">
<div class="container theme-showcase font_roboto" role="main">      
  <div class="page-header">
    <h2>Lista de Notas</h2>
  </div>

  <!--Carrego aqui o select das provas cadastradas -->

  

  <?php
   
               
?>


  <div class="row espaco">
        <div class="pull-right">
            <a href="administrativo.php?link=15"><button type='button' class='btn btn-success estilobotao'>Carregar</button></a>
        </div>
    </div>
  <div class="row">
    <div class="col-md-12">
      <table class="table">
        <thead>
          <tr>
            <th>ID</th>
            <th>Aluno</th>
            <th>Prova</th> 
            <th>Nota1</th>
            <th>Situação</th>
          </tr>
        </thead>
        <tbody>
            <?php 


                 $resultado=mysqli_query($conectar,"SELECT * FROM notas_provas 
                                   inner join alunos on alunos.id = notas_provas.id_aluno
                                   inner join provas on provas.id = notas_provas.id_prova 
                                   WHERE notas_provas.instrutor = '$userLogado' and 
                                         notas_provas.id_prova  = '$teste' ORDER BY 'id'");
                  $linhas=mysqli_num_rows($resultado);
  

                while($linhas = mysqli_fetch_array($resultado)){

                    //$id_turma = $linhas['id_turma']; 
                                        
                    //$queryTurma = mysqli_query($conectar,"SELECT * FROM notas_provas 
                    //                                       ORDER BY 'id'");
                    //$row = mysqli_fetch_array($queryTurma);                                   

                    echo "<tr>";
                        echo "<td>".$linhas['id']."</td>";
                        
                        echo "<td>".$linhas['nome']."</td>";
                        echo "<td>".$linhas['descricao']."</td>";
                        echo "<td>".$linhas['nota1']."</td>";
                                                  
                        echo "<td>".$linhas['situacao']."</td>";
                        ?>
                        <td>                                                 
                        <a href='administrativo.php?link=13&id=<?php echo $linhas['id']; ?>'><button type='button' class='btn btn-sm btn-warning estilobotao'>Editar</button></a>
                        
                        <a href='processa/proc_apagar_nota.php?id=<?php echo $linhas['id']; ?>'><button type='button' onclick="return confirm('Tem certeza que deseja deletar este registro?')" class='btn btn-sm btn-danger estilobotao'>Apagar</button></a>
                        
                        <?php
                    echo "</tr>";
                }
            ?>
        </tbody>
      </table>
    </div>
    </div>

 


</div> <!-- /container -->

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Progjunior Daniel, na combobox eu ja carrego minhas provas cadastradas na tabela de provas no mysql, o que eu quero fazer, é capturar a prova que eu selecionar na combobox, e fazer uma leitura, um select de outra tabela, colocando o dados que capturei da combo como filtro...por ex.  $resultado=mysqli_query($conectar,"SELECT * FROM notas_provas 
                                                    inner join alunos on alunos.id = notas_provas.id_aluno
                                                    inner join provas on provas.id = notas_provas.id_prova 
                                                   WHERE notas_provas.instrutor = '$userLogado' and 
                                                           notas_provas.id_prova  = "aqui quero capturar o dados que vem da                                                              combobox" ORDER BY 'id'");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai ter que usar o jquery ou js para quando mudar o select(html) da prova você usará o ajax para pegar o id dessa prova.
Ex:

Jquery

$('body').on('click', '.nome_da_classe', function(){

var id = $(".nome_da_classe :selected").val();
aqui faria o ajax......

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então realmente, tentando passar por $_POST, não dá certo, é que sou iniciante, terei que me aprofundar em jquery....pois realmente achei que teria como capturar os dados da combobox por $_POST, pois na comobobox tenho os dados da tabela provas, e ao selecionar uma prova da combobox, queria pegar o id dessa tabela, para fazer um select na tabela de notas_provas que tenho o campo id_prova referenciado, a meu ver seria simples, armazenaria em uma variavel o dado da combobox, e ao fazer o select, lia a variavel e fazia o filtro normal, na combobox carrego as 3 provas cadastradas, conforme a imagem tabela-provas.png, ai queria pegar o id dela, (2,3, ou 4), para fazer um select na tabela notas_provas, conforme imagem tabela-notas_provas.png, quando o campo id_prova fosse por exemplo = 4, que seria na combobox o dado referente a prova Direito... fazendo a leitura manual, colocando o id_prova = 4 la na query, traz a informação normal na tela....$resultado=mysqli_query($conectar,"SELECT * FROM notas_provas 
                                                    inner join alunos on alunos.id = notas_provas.id_aluno
                                                    inner join provas on provas.id = notas_provas.id_prova 
                                                   WHERE notas_provas.instrutor = '$userLogado' and 
                                                           notas_provas.id_prova  = '4' ORDER BY 'id'");

tabela-provas.PNG

tabela-nota_provas.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
×

Informação importante

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