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

(Resolvido) Checkboxes


mariana

Pergunta

alguém pode-me ajudar??

A questão é a seguinte: :blink:

- A BD é composta pelas seguintes tabelas:

>Turma (idTurma,...)

>Aula (idAula, data, sumario, idProfessor)

>Alunos (idAluno, nome, idTurma)

>Aula_Alunos (idAula, idAluno, presenca)

- Para cada aula dessa turma, o professor cria um sumário (q será inserido na tabela AULA) e tem de registar a presença de cada aluno nessa aula (AULA_ALUNOS)

A ideia é usar checkboxes para introdução dos valores das presenças (checked=1, unchecked=0), ou seja presente ou ausente.

:wacko: Como armazenar os dados dessas checkboxes na tabela AULAS_ALUNOS??

(estou a utilizar Dreamweaver+php+MySql)

Thx!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olá, Mariana!

Você entende alguma coisa de PHP?

Se entender, você pode usar um laço para pegar cada aluno no database e criar um checkbox pra ele.

No PHP, o retorno de uma checkbox sem value algum é "on", mas você poderá facilmente alterar isso definindo a propriedade value dele na hora de criar.

Depois de feito isso, é só você usar um novo laço para pegar cada checkbox enviado e ver se está checado ou não!

Link para o comentário
Compartilhar em outros sites

  • 0

Em primeiro lugar, gostaria de agradecer a tua ajuda.

Este é o meu primeiro contacto com PHP, e também com o Dreamweaver.

Gostaria de armazenar quer as checkboxes checked como as unchecked, com os respectivos valores. Por predefinição, o campo Presenca (na tabela Assiduidade no MySQL) está com o valor predefinido 0.

:blush: Este é o código que fiz... mas como não está a inserir na DB, está errado!!

/*Ler todos os elementos da tabela e criar a checkboxes*/
<?php do { ?>
    <tr>
        <td width="50"><div align="center"><?php echo $row_rsElemento['idelemento']; ?></div></td>
        <td><?php echo $row_rsElemento['nome']; ?>
        <input name="idelemento_" type="hidden" id="idelemento_" value="<?php echo $row_rsElemento['idelemento']; ?>" />
        <input name="idsessao_" type="hidden" id="idsessao_" value="<?php echo ($row_rsSessao['idsessao']+1); ?>" />
        <input name="numsessao_" type="hidden" id="numsessao_" value="<?php echo ($row_rsSessao['numsessao']+1); ?>" />
        <input name="idturma_" type="hidden" id="idturma_" value="<?php echo $row_rsSessao['idturma']; ?>" />
        <input name="idformador_" type="hidden" id="idformador_" value="MM_IdFormador" />
        <input name="idformador_" type="hidden" id="idformador_" value="<?php echo $row_rsFormador['idformador']; ?>" />
        </td>
        <td width="100"><div align="center">
            <input name="presenca[]" type="checkbox" id="presenca[]" value="1" />
            </div>
        </td>
      </tr>
<?php } while ($row_rsElemento = mysql_fetch_assoc($rsElemento)); ?>

/*Inserir os registos na tabela -*/

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "forminsere_sessao")) {
  $insertSQL = sprintf("INSERT INTO assiduidade (idelemento, idsessao, presenca) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['idelemento_'], "int"),
                       GetSQLValueString($_POST['idsessao_'], "int"),
                       GetSQLValueString(isset($_POST['presenca[]']) ? "true" : "", "defined","1","0"));

  mysql_select_db($database_ligarBD, $ligarBD);
  $Result1 = mysql_query($insertSQL, $ligarBD) or die(mysql_error());
}

Mais uma vez, Obrigada!!

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui vai uma solução que devidamente adaptada resolveu o prob de armazenar os valores da checkboxes!!

/*criar as checboxes */

<form id="form1" name="form1" method="post" action="">
  <p>Hobbies: </p>
  <p>
    <input name="hobbies[]" type="checkbox" id="hobbies[]" value="Futebol" />
    Futebol</p>
  <p>
    <input name="hobbies[]" type="checkbox" id="hobbies[]" value="Natação" />
    Natação</p>
  <p>
    <input name="hobbies[]" type="checkbox" id="hobbies[]" value="Golfe" />
    Golfe</p>
  <p>
    <input name="hobbies[]" type="checkbox" id="hobbies[]" value="Ciclismo" />
    Ciclismo</p>
  <p>
    <label>
    <input type="submit" name="Inserir" id="Inserir" value="Inserir" />
    </label>
  </p>
</form>

/*mostra os valores das checboxes seleccionadas*/

<?php 
    if ($_POST['Inserir']){                           /*atencao ao nome do botao Submit*/
    foreach ($_POST['hobbies'] as $hobbies) {
        echo " -hobbies: ".$hobbies;}
   }

?>

Se for necessario armazenar na BD é só fazer um INSERT dentro do ciclo foreach. :blush:

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,2k
    • Posts
      652k
×
×
  • Criar Novo...