• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

tiagojmartins

Dúvida sobre o envio de dados para uma base dados

3 mensagens neste tópico

Bom dia

Estou a utilizar o Dreamweaver 9.0 Build 3481 e o Wamp Server 2.0.

A minha dúvida é a seguinte.

Tenho a página alunos.php que lista Alunos de uma Turma num Recordset que faz um Repeat Region para que apareçam todos os alunos na página.

<?php do { ?>
            <tr>
              <td width="606" height="30"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="79%" height="20"><?php echo $row_Alunos['NAluno']; ?> - <?php echo $row_Alunos['NomeAluno']; ?></td>
                    <td width="21%"></td>
                  </tr>
                              </table></td>
            </tr>
            <?php } while ($row_Alunos = mysql_fetch_assoc($Alunos)); ?>

O Recordset está ligado a uma tabela na base de dados chamada utilizadores, com os campos e NAluno e NomeAluno.

A intenção dessa página é um professor inserir notas de um Módulo para cada aluno.

Então para isso criei outra tabela na base de dados chamada avaliacaoalunos com os campos: Id_Avaliacao, Id_Modulo, NAluno e Nota. Coloquei um novo Recordset com ligação a essa tabela.

Ou seja, o código ficou assim:

<form>
                <table width="545" height="34" border="0" cellpadding="2" cellspacing="2">          
          <?php do { ?>
            <tr>
              <td width="606" height="30" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="79%" height="20"><div ><?php echo $row_Alunos['utilizador']; ?>- <?php echo $row_Alunos['nome']; ?></div></td>
                    <td width="21%"><div ><input name="Nota" type="text"  value="<?php echo $row_Recordset3['nota']; ?>"/></div></td>
                  </tr>
                              </table></td>
            </tr>
            <?php } while ($row_Alunos = mysql_fetch_assoc($Alunos)); ?>
        </table>
        <input name="Enviar" type="button" />
</form>        

O problema que me surge é que, como o estou a fazer um repeat region, ao clicar em enviar só me vai aparecer na base de dados o registo do último aluno com o nº do Módulo e a Nota.

Gostaria de saber se tinham alguma alternativa para puder fazer isto.

Desde já obrigado pelo vosso tempo perdido com este tópico

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

<input name="Nota" type="text"  value="<?php echo $row_Recordset3['nota']; ?>"/>

O que se passa é o seguinte, a única variável que está definida no formulário é a variável Nota, por mais vezes que repitas o código só tens uma variável e ela vai assumir o ultimo valor.

É como se tivesses o seguinte formulário

<form method="post">
     <input type="text" name="var1" value="teste1" />
     <input type="text" name="var1" value="teste2" />
</form>

o valor de var1 é sempre "teste2" tal como se em php fizeres

<?php
$var1 = 'teste1';
$var2 = 'teste2';
?>

o valor de $var1 é "teste2"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito obrigado, é exactamente esse o problema.

Há alguma alternativa que possa utilizar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora