Dúvida PHP - envio de dados para base de dados

tfxsound

Power Member
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.

Código:
<?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:
Código:
<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
 
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.

Código:
<?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:
Código:
<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

Olá,

Crias uma variável numérica (inteiro), que concatenas ao name de cada input, Tens que incrementar essa variável a cada passagem do teu while. No processamento do form, vais buscar cada um desses inputs e processas todos os registos.

O framework do prototype premite fazer um «serialize» ao form, o que é capaz de te ajudar.
 
ou seja, teria de criar uma variável que adicionasse um ( +1 ) cada vez que repetisse o while, certo?
e como vou concatenar essa variável ao name do input?
esse programa que referiste é este?

muitíssimo obrigado pela ajuda disponibilizada
 
Back
Topo