1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

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

Discussão em 'Web Development' iniciada por tfxsound, 14 de Janeiro de 2009. (Respostas: 2; Visualizações: 788)

  1. tfxsound

    tfxsound Suspenso

    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
     
  2. geoblast

    geoblast Power Member

    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.
     
  3. tfxsound

    tfxsound Suspenso

    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
     

Partilhar esta Página