Jump to content

Passar valor do select para variável PHP


ONTheBankz

Recommended Posts

Boa Tarde Pessoal, eu tenho um formulário de marcar faltas a alunos e quero que ao escolher a turma num select, consiga guardar a opção escolhida, para ao escolher os alunos, aparecer só os da turma escolhida em cima

Eu vou buscar os valores do select á BD na tabela aluno onde tem a turma e os respetivos alunos.

Agora como é que posso fazer ao por exemplo: escolher a turma 11A, colocar o valor escolhido numa variável e depois no select dos alunos, executar uma query do género "SELECT cod_aluno FROM aluno WHERE turma = $variável"

 

<?php 
$ligacao = new mysqli("localhost", "root", "", "escola");
$ligacao->set_charset("utf8");

       $result = "SELECT DISTINCT cod_turma FROM aluno";
       $resultado = mysqli_query($ligacao, $result);

       while($row = mysqli_fetch_assoc($resultado)) {
         echo '<option value="'.$row['cod_turma'].'"> '.$row['cod_turma'].' </option>';
       }
    ?>    
</select>
<br></td></tr><tr>            
<td><b>Aluno:<z class="z">*</td>
<td><select class="combo" size=1 name="Aluno" id="Aluno">
<option value=""></option>
<?php 
$ligacao = new mysqli("localhost", "root", "", "escola");
       $result = "SELECT DISTINCT cod_aluno, nome FROM aluno";
       $resultado = mysqli_query($ligacao, $result);
       while($row = mysqli_fetch_assoc($resultado)) {
         echo '<option value="'.$row['cod_aluno'].'"> '.$row['nome'].' </option>';
       }
    ?>
</select>

 

Eu já tentei fazer isto mas sem sucesso

<script>
var select = document.getElementById("Turma");
var variavel = '';
select.onchange = function(){
    variavel = this.value;
    console.log(variavel);
}
</script>
  
   
 <?php
    $valor = "<script>document.write(variavel)</script>";
    ?>  
  Edited by ONTheBankz
Link to comment
Share on other sites

Obrigado pela ajuda mas já consegui de outra forma.

 

Index.php

<?php
    $select = $conexao->prepare("SELECT DISTINCT cod_turma FROM aluno");
    $select->execute();
    $fetchAll = $select->fetchAll();
    foreach($fetchAll as $turmas)
    {
        echo '<option value="'.$turmas['cod_turma'].'">'.$turmas['cod_turma'].'</option>';
    }
?>  
</select>
<br></td></tr><tr>              
<td><b>Aluno:<z class="z">*</td>
<td>
<select class="combo" size=1 name="aluno" id="aluno"></select>
    <script>
    $("#turma").on("change",function(){
      var idTurma = $("#turma").val();
      
      $.ajax({
          url: 'pega_alunos.php',
          type: 'POST',
          data:{id:idTurma},
          beforeSend: function(){
          $("#aluno").html("Carregando...");
          },
          success: function(data)
          {
          $("#aluno").html(data);
          },
          error: function(data)
        {
          $("#aluno").html("Houve um erro ao carregar...");
          }
        });
});
    </script>

 

pega_alunos.PHP

<?php 
    $conexao = new PDO("mysql:host=localhost;dbname=escola","root","");
    $conexao->exec('SET CHARACTER SET utf8');

$pegaAlunos = $conexao->prepare("SELECT nome FROM aluno WHERE cod_turma='".$_POST['id']."'");
$pegaAlunos->execute();

$fetchAll = $pegaAlunos->fetchAll();

foreach($fetchAll as $aluno)
{
    echo '<option>'.$aluno['nome'].'</option>';
}

 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.