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

Update em vários campos dentro de While


maicon1121

Pergunta

Bom dia a todos!

Tenho o seguinte código:

<?php

set_time_limit(0);


        $sql = "SELECT N.NOTA_ESCOLA, N.NOTA_CODIGO, N.NOTA_DM, N.NOTA_DL,  ".
"N.NOTA_ANO, N.NOTA_BIMESTRE,  ".
"N.NOTA_DISCIPLINA, A.ALU_CODIGO,  ".
"M.mat_numero_chamada, A.alu_nome,  ".
"D.DIS_NOME, N.NOTA_NOTA, M.MAT_TURMA  ".
"FROM TABELA_NOTAS N  ".
"INNER JOIN TABELA_MATRICULA M  ".
"ON M.MAT_ALUNO = N.NOTA_ALUNO ".
"AND M.MAT_ESCOLA = N.NOTA_ESCOLA  ".
"AND M.MAT_ANO = N.NOTA_ANO  ".
"INNER JOIN TABELA_ALUNOS A  ".
"ON A.ALU_CODIGO = N.NOTA_ALUNO  ".
"INNER JOIN TABELA_DISCIPLINA D  ".
"ON D.dis_escola = N.NOTA_ESCOLA  ".
"AND D.DIS_CODIGO = N.NOTA_DISCIPLINA  ".
"WHERE N.NOTA_ANO = '{$_REQUEST['ANO']}'  ".
"AND N.NOTA_ESCOLA = '{$_REQUEST['ESCOLA']}'  ".
"AND N.NOTA_BIMESTRE = '{$_REQUEST['BIM']}'  ".
"AND N.NOTA_DISCIPLINA = '{$_REQUEST['DIS']}'  ".
"AND M.MAT_TURMA = '{$_REQUEST['ID']}' ".
"AND M.MAT_STATUS = 0 ".
               "ORDER BY M.MAT_NUMERO_CHAMADA, A.ALU_NOME";
//print $sql;
    $r = ibase_query($conexao, $sql);
        
        $sqlnometurma = "SELECT TUR_NOME FROM TABELA_TURMA WHERE TUR_CODIGO = '{$_REQUEST['ID']}' ";
        $r2 = ibase_query($conexao, $sqlnometurma);
        $dados2 = ibase_fetch_object($r2);
        
        $sqlnomedisciplina = "SELECT DIS_NOME FROM TABELA_DISCIPLINA WHERE DIS_CODIGO = '{$_REQUEST['DIS']}' ";
        $r3 = ibase_query($conexao, $sqlnomedisciplina);
        $dados3 = ibase_fetch_object($r3);


print 'Turma: ' . $dados2->TUR_NOME .' - ' . 'Disciplina: ' . $dados3->DIS_NOME . ' - '.$_REQUEST['BIM'] .'º Bimestre ' . '      ' . '<a href="#" onClick="history.back(-3)">Selecione outro Bimestre</a><br /><br />

<table border="0" cellpadding="2" cellspacing="2" width="80%" align="center">
    <tr>
        <td align="center" class="tabela" width="5%">Nº</td>
            <td class="tabela" width="40%">Nome</td>
        <td align="center" class="tabela" width="10%">Nº Chamada</td>
            <td align="center" class="tabela" width="15%">Nota</td>
                <td align="center" class="tabela" width="15%">Dispensas</td>
    </tr>';

    while($dados = ibase_fetch_object($r)){
    
        print'<tr>
            <td align="center" class="dados">'.$dados->MAT_NUMERO_CHAMADA.'</td>
                <td class="dados">'.$dados->ALU_NOME.'</td>
            <td align="center" class="dados">'.$dados->MAT_NUMERO_CHAMADA.'</td>
            <td align="center" class="dados">
                <form action="?pg=mostrar&funcao=alterar_nota" method="post">
                    <input type="hidden" name="ALUNO" value="'.$dados->ALU_CODIGO.'" >
                    <input type="hidden" name="PROF" value="'.$_SESSION['PRO_CODIGO'].'" >
                    <input type="hidden" name="ANO" value="'.$dados->NOTA_ANO.'" >
                    <input type="hidden" name="BIM" value="'.$_REQUEST['BIM'].'" >
                    <input type="hidden" name="TURMA" value="'.$dados->MAT_TURMA.'" >
                    <input type="hidden" name="ESCOLA" value="'.$dados->NOTA_ESCOLA.'" >
                    <input type="hidden" name="DIS" value="'.$dados->NOTA_DISCIPLINA.'" >
                    <input type="hidden" name="COD_NOTA" value="'.$dados->NOTA_CODIGO.'" >
              
                    <input type="text" name="NOTA" size=3 value="'.number_format($dados->NOTA_NOTA, 1, '.', '').'">
              
                    <input type="submit" value="Gravar">
                </form>
            </td>
                        <td align="center" class="dados">
                        <table border=0 width="100%">
                                <tr>
                                <td>
                <form action="?pg=mostrar&funcao=alterar_dm" method="post">
                                        '.$dados->NOTA_DM.'
                    <input type="hidden" name="ALUNO" value="'.$dados->ALU_CODIGO.'" >
                    <input type="hidden" name="PROF" value="'.$_SESSION['PRO_CODIGO'].'" >
                    <input type="hidden" name="ANO" value="'.$dados->NOTA_ANO.'" >
                    <input type="hidden" name="BIM" value="'.$_REQUEST['BIM'].'" >
                    <input type="hidden" name="TURMA" value="'.$dados->MAT_TURMA.'" >
                    <input type="hidden" name="ESCOLA" value="'.$dados->NOTA_ESCOLA.'" >
                    <input type="hidden" name="DIS" value="'.$dados->NOTA_DISCIPLINA.'" >
                                        <input type="hidden" name="COD_NOTA" value="'.$dados->NOTA_CODIGO.'" >
                           
                    <input type="submit" value="DM">
                </form>
                                </td>
                                <td>
                                <form action="?pg=mostrar&funcao=alterar_dl" method="post">
                                        '.$dados->NOTA_DL.'
                    <input type="hidden" name="ALUNO" value="'.$dados->ALU_CODIGO.'" >
                    <input type="hidden" name="PROF" value="'.$_SESSION['PRO_CODIGO'].'" >
                    <input type="hidden" name="ANO" value="'.$dados->NOTA_ANO.'" >
                    <input type="hidden" name="BIM" value="'.$_REQUEST['BIM'].'" >
                    <input type="hidden" name="TURMA" value="'.$dados->MAT_TURMA.'" >
                    <input type="hidden" name="ESCOLA" value="'.$dados->NOTA_ESCOLA.'" >
                    <input type="hidden" name="DIS" value="'.$dados->NOTA_DISCIPLINA.'" >
                    <input type="hidden" name="COD_NOTA" value="'.$dados->NOTA_CODIGO.'" >

                    <input type="submit" value="DL">
                </form>
                                </td>
                                </tr>
                        </table>
            </td>
        </tr>';
   }
   ibase_close($conexao);
?>
</table>

<form action="mostrar_new.php" method="post">
        <input type="submit" value="Gravar Todos">
</form>

<?php

if($_GET['funcao'] == "alterar_nota"){
    
        //trocando virgula por ponto e ponto por ponto
//      if(!strpos({$_POST['NOTA']},".")&&(strpos({$_POST['NOTA']},",")))
//      $NotaAtual=substr_replace({$_POST['NOTA']}, '.', strpos({$_POST['NOTA']}, ","), 1);
        $NotaAtual2 = str_replace(',', '.', $_POST['NOTA']); 
        
        $query = "UPDATE TABELA_NOTAS N SET N.NOTA_NOTA = $NotaAtual2 ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
        PRINT $query;
    $r = ibase_query($conexao, $query);
    if($r){
        
                //print '<script> history.back(); </script>';
        header("Location: ?pg=mostrar&ID={$_POST['TURMA']}&ANO={$_POST['ANO']}&ESCOLA={$_POST['ESCOLA']}&DIS={$_POST['DIS']}&BIM={$_POST['BIM']}&PROF={$_SESSION['PRO_CODIGO']}");
    }
}
        
if($_GET['funcao'] == "alterar_dm"){
    
        $query = "SELECT N.NOTA_DM FROM TABELA_NOTAS N ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
        $r = ibase_query($conexao, $query);
        $DM = ibase_fetch_object($r);
        
        if ($DM->NOTA_DM=='N'){
                $query = "UPDATE TABELA_NOTAS N SET N.NOTA_DM = 'S' ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
                 }
                 
        if ($DM->NOTA_DM=='S'){
                $query = "UPDATE TABELA_NOTAS N SET N.NOTA_DM = 'N' ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
                 }

    $r = ibase_query($conexao, $query);
    if($r){
        
                //print '<script> history.back(); </script>';
        header("Location: ?pg=mostrar&ID={$_POST['TURMA']}&ANO={$_POST['ANO']}&ESCOLA={$_POST['ESCOLA']}&DIS={$_POST['DIS']}&BIM={$_POST['BIM']}&PROF={$_SESSION['PRO_CODIGO']}");
    }
}
        
if($_GET['funcao'] == "alterar_dl"){
    
        $query = "SELECT N.NOTA_DL FROM TABELA_NOTAS N ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
        $r = ibase_query($conexao, $query);
        $DL = ibase_fetch_object($r);
        
        //PRINT $DL->NOTA_DL;
        
        if ($DL->NOTA_DL=='N'){
                $query = "UPDATE TABELA_NOTAS N SET N.NOTA_DL = 'S' ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
                 }
                 
        if ($DL->NOTA_DL=='S'){
                $query = "UPDATE TABELA_NOTAS N SET N.NOTA_DL = 'N' ".
                   "WHERE N.NOTA_CODIGO = '{$_POST['COD_NOTA']}' " .
                   "AND N.NOTA_ALUNO = '{$_POST['ALUNO']}' " .
                   "AND N.NOTA_ANO = '{$_POST['ANO']}' " .
                   "AND N.NOTA_BIMESTRE = '{$_POST['BIM']}' " .
                   "AND N.NOTA_ESCOLA = '{$_POST['ESCOLA']}' " .
                   "AND N.NOTA_DISCIPLINA = '{$_POST['DIS']}' ";
                 }
        //PRINT $query;
    $r = ibase_query($conexao, $query);
    if($r){
        
                //print '<script> history.back(); </script>';
        header("Location: ?pg=mostrar&ID={$_POST['TURMA']}&ANO={$_POST['ANO']}&ESCOLA={$_POST['ESCOLA']}&DIS={$_POST['DIS']}&BIM={$_POST['BIM']}&PROF={$_SESSION['PRO_CODIGO']}");
    }
}
?>

O mesmo através de um while, gera os fields e o botão gravar para cada aluno, eu gostaria de ter um botão que pudesse salvar todos de uma vez, como ficaria a ação e o update deste botão?

Muito obrigado a todos, lembrando que uso interbase como banco.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Amigo, dá um name único pra cada input de acordo com a id do aluno.

Melhor lançar como array, lançar todos os campos com o mesmo nome sendo um array como post, assim basta fazer um foreach() varendo o post do campo e atualizar os dados sem muito trabalho de ficar captando todos os campos...

Boa tarde amigo, obrigado pela formulação.

Se não for pedir muito, gostaria de um exemploo prático, em código, de como "lançar como array"

Muito obrigado!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...