Ir ao conteúdo
  • Cadastre-se

Criando média por colunas no php


Posts recomendados

Bom dia pessoal, estou querendo inserir mais uma linha que me dê a média de notas por colunas, de 1 a 7, mas não estou conseguindo, segue meu código.


 

<?
include $DOCUMENT_ROOT."/libs/autentica2.php";
include $DOCUMENT_ROOT."/libs/intralib.php";
require("../libs/academicolib.php");

$perlet_atu = perlet(2);

$db = new minha_base;
$db->db_nome = "sapiens";
$db->conecta();

$db->sql_exec("set charset utf8");

switch ($origem){
case "curso": $filtroturma = "";
case "turma": $filtrodisciplina = "";
case "disciplina": $filtroetapa = "";
}

$a_cursos = getCursos();
$a_turmas = getTurmas($perlet_atu,1,$filtrocurso);
$a_disciplinas = getFrentes($perlet_atu, $filtroturma);
$a_etapas = ($filtrodisciplina)?(array(1=>"1º Bim.",2=>"2º Bim.",3=>"3º Bim.",4=>"4º Bim.")):(array());
?>
<HTML>
  <HEAD>
    <META CONTENT="text/html;" charset="UTF-8">
    <LINK href="/libs/ie.css" rel="stylesheet">
    <LINK href="rel_notas.css" rel="stylesheet">    
    <script>
    function postar(origem){
     var form = document.getElementById('frmnotas');
     form.origem.value=origem;
     form.submit();
    }
    </script>
    
  </HEAD>  
<BODY vLink=#000000 aLink=#000000 bgColor=#ffffff leftMargin=0 topMargin=0 marginheight="0" marginwidth="0" font="Arial">
   <H1 class="titulo">Relatório de notas dos Professores</H1>
   
   
<div id="geral">
<form name="frmnotas" id="frmnotas" method="POST">
<input type="hidden" name="acao" value="" />
<input type="hidden" name="origem" value="" />
<fieldset id="optfiltro"> 
    <label for="filtrotipo">Tipo:</label>
    <select name="filtrotipo" id="filtrotipo" onchange="postar('')">
    <option value="1" <?=($filtrotipo==1)?("selected") :("")?>>Nota Comum</option>
    <option value="2" <?=($filtrotipo==2)?("selected") :("")?>>Nota Dissertativa</option>
    </select>
    <br clear="all"/>
    <br clear="all"/>
    <label for="filtrocurso">Curso:</label>
    <select name="filtrocurso" id="filtrocurso" onchange="postar('curso');">
    <option value=""></option>
    <?
    foreach ($a_cursos as $ch => $descricao) {
    ($filtrocurso==$ch)?($sel="selected") $sel="");
    echo "<option value='".$ch."' ".$sel.">".utf8_encode($descricao["curso"])."</option>\n\t\t";
    }
    ?> 
    </select>
    <br clear="all"/>
    <br clear="all"/>
    <label for="filtroturma">Turma:</label>
    <select name="filtroturma" id="filtroturma" onchange="postar('turma');">
    <option value=""></option>
    <?
    foreach ($a_turmas as $ch => $descricao) {
    ($filtroturma==$ch)?($sel="selected") $sel="");
    echo "<option value='".$ch."' ".$sel.">".$descricao["turma"]."</option>\n\t\t";
    }
    ?> 
    </select> 
    <br clear="all"/>
    <br clear="all"/>
    <label for="filtrodisciplina">Disciplina:</label>
    <select name="filtrodisciplina" id="filtrodisciplina" onchange="postar('disciplina');">
    <option value=""></option>
    <?
    foreach ($a_disciplinas as $ch => $descricao) {
    if($filtrodisciplina==$ch){
    $sel="selected";
    }
    else{
    $sel="";
    }
    if($descricao["disciplina"] <> $disctemp){
    if($disctemp) echo "</optgroup>";
    $disctemp = $descricao["disciplina"];
    echo "<optgroup label='".utf8_encode($descricao["disciplina"])."'>";
    }
    echo "<option value='".$ch."' ".$sel.">".utf8_encode($descricao["frente"])." (".$ch.")</option>\n\t\t";
    }
    ?> 
    </select>  
    <br clear="all"/>     
    <br clear="all"/>
     
    <label for="filtroetapa">Etapa:</label>
    <select name="filtroetapa" id="filtroetapa" onchange="postar('etapa');">
    <option value=""></option>
    <?
    foreach ($a_etapas as $ch => $descricao) {
    ($filtroetapa==$ch)?($sel="selected") $sel="");
    echo "<option value='".$ch."' ".$sel.">".$descricao."</option>\n\t\t";
    }
    ?> 
    </select>  
    <br clear="all"/>     
    <br clear="all"/>

    </fieldset>
    <br clear="all"/>
<?
if($filtroetapa){

if ($filtrotipo == 1){
$titulos = array();
for($n=1;$n<=7;$n++){
$qry="SELECT titulo
   FROM notas_pre_titulo 
   WHERE cod_disciplina='".$filtrodisciplina."'
      AND turma='".$filtroturma."'
  AND nota='".$n."'
  AND periodo='".$filtroetapa."'
  AND perlet='".$perlet_atu."'";

$db->sql_exec($qry);
if($db->sql_registros()>0){
$titulos[$n]=$db->sql_res_campo(0,"titulo");
}
}
}
?>

  <table align="center" border="0" id="tablestat">
   <thead>
       <tr>
<th>Matricula</td>
<th>Prontuário</td>
         <th></td>
         <th>Nome</th>
         <?
         if ($filtrotipo == 1){
         for($n=1;$n<=7;$n++){
         $titulo = $titulos[$n];
         ?><th><?=$titulo?></th><?
         }
         }
         ?>
         <th>Nota</th>
             <?
              if ($filtrotipo == 1){
               ?><th>Faltas</th><?
              }?>
       </tr>
     </thead>
     <tbody>  
        <?

        $sql = "SELECT M.numero, A.nome, M.registro as cod_matricula, M.prontuario, M.situacao, N.*
                   FROM sgematricula as M
                   INNER JOIN sgealuno as A ON (A.registro = M.aluno)
                   LEFT JOIN notas_pre as N ON (
                                                 M.registro = N.cod_matricula
                                                 AND N.cod_disciplina = '".$filtrodisciplina."'
                                                 AND N.periodo = '".$filtroetapa."'
                                                 AND N.tipo = '".$filtrotipo."'
                                               )
                   WHERE (M.turma = '".$filtroturma."')
                   AND (
                        ( M.situacao IN ('A','P','O') )
                        OR  (M.situacao='C' AND month(dt_situacao)>02 and year(dt_situacao)=M.semestre)
                       )
                     AND (M.semestre = '".$perlet_atu."')
                   ORDER BY M.numero";
        $db->sql_exec($sql);

        for ($x=0; $x < $db->sql_registros(); $x++) {
         $numero = $db->sql_res_campo($x,'numero');
         $nome = $db->sql_res_campo($x,'nome');
         $situacao = $db->sql_res_campo($x,"situacao");
         $prontuario = $db->sql_res_campo($x,'prontuario');
         $cod_matricula = $db->sql_res_campo($x,'cod_matricula');
         $notaBim = $db->sql_res_campo($x,'nota')/100;
         $notas = array();
         for($n=1;$n<=7;$n++){
         $notas[$n] = $db->sql_res_campo($x,'n'.$n);

         }
         $falta = $db->sql_res_campo($x,'faltas');
         $obs="";
         if($situacao=="C") $obs=" (cancelado)";
?>
         <TR>
<TD><?=$cod_matricula?></TD>
<TD><?=$prontuario?></TD>
             <TD><?=$numero?></TD>
              <TD><?=$nome.$obs?></TD>
              <?
              if ($filtrotipo == 1){
               for($n=1;$n<=7;$n++){
               $nota = ($notas[$n]<>"" || $titulos[$n])?(number_format($notas[$n]/100,1)) :("-");
               ?><td><?=$nota?></td><?
               }
              }
              ?>              
              <TD><?=number_format($notaBim,1,".","")?></TD>
              <?
              if ($filtrotipo == 1){
               ?><TD><?=number_format($falta,0,".","")?></TD><?
              }?>
            </TR>
            <?
        }
        ?>
    </tbody>   
   </table>
  <?
}
  ?>
</body>
</html>

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...