Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eriki Dias

Relatório de Avaliação

Recommended Posts

Boa noite a todos, estou trabalhando em um programa de avaliação de produtividade, estou na fase de relatório, eu criei um cadastro de avaliação onde é registrado a identificação do avaliado, do avaliador, três perguntas que são geradas aleatoriamente pelo sistema e as notas atribuidas a cada pergunta.

Ex..: Pergunta 01 : O esclarecimento sobre a dúvida que tinha foi Nota 01: BOM

Pergunta 02 : O domínio do atendente sobre o procedimento foi Nota 02: ÓTIMO

Pergunta 03 : O tempo decorrido para a solução do problema foi Nota 03: EXCELENTE

 

Feito o cadastro da avaliação preciso gerar um relatório para direcionar a qualidade nos serviços e vendas, então na tela para chamar o resultado digito o período, o nome do avaliado e ele tem que me mostrar o seguinte resultado em uma tabela.

 

Logo da empresa, Identificação do Avaliado e uma tabela com a coluna PERGUNTAS onde serão relacionadas todas as perguntas utilizadas na avaliação daquele funcionário naquele periodo consultado, e outra coluna com a nota MÉDIA que ele recebeu quando foi avaliado.

 

Problema como faço para juntar as perguntas que são repetidas na tabela, somar a nota dada a cada uma delas e calcular a nota média dada a ele em relação aquela pergunta, aparecendo o resultado:

 

Pergguntas Qtde Média

O esclarecimento sobre a dúvida que tinha foi 05 Ótimo

O domínio do atendente sobre o procedimento foi 02 Ruim

O tempo decorrido para a solução do problema foi 09 Regular

 

Dessa forma poderei direcionar o funcionário, se alguem souber como faço por favor me envie a resposta, desde já grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para juntar as perguntas repetidas na consulta utilize GROUP BY, para somar utilize SUM e média utilize AVG.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde manolegal, obrigado pelas dicas estou testando cada função q me passou e todas estao funcionando como eu preciso agora vou ter q junta-las pra ver o resultado... muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Manolegal, eu testei os comandos utilizando o sql do phpadmin e funcionou, porém não consegui fazer funcionar no script que tenho em php, estou postando o script se puder me ajudar mais uma vez te agradeço.

 

<?php

//se a seção não estiver startada, alguem esta tentando executar sem fazer login

// if(!(IsSet($_SESSION["nome_usuario"])))

// Header("Location: index.html");

 

//Chamando Arquivo de BANCO DE DADOS

include ("conecta_mysql.inc");

 

//Alterando Fuso Horario para Brasil

setlocale(LC_TIME, 'pt_BR');

 

//Capturando Valores de Entrada

$registroEspecial = $_GET['re'];

$dataInicio = $_GET['datai'];

$dataFim = $_GET['dataf'];

 

function TrataData($data){

return $datadobanco = implode("/",array_reverse(explode("/",$data)));

}

 

function DataBrasileira($data){

return $databrasileira = implode("/",array_reverse(explode("-",$data)));

}

 

function TrataMedia($media) {

if($media < 2) {

return "RUIM";

}

else if($media < 3){

return "REGULAR";

}

else if($media < 4){

return "BOM";

}

else if($media < 5){

return "OTIMO";

}

else if($media < 6){

return "EXCELENTE";

}

else if($media <1){

return "NENHUMA";

}

}

$sql = "SELECT

re1,

re2,

re3,

re4,

reentrevistador,

datadaavaliacao,

pergunta1,

nota1,

entrevistado,

SITUACAO1,

SITUACAO1 as MEDIA

FROM (

SELECT

re1,

re2,

re3,

re4,

reentrevistador,

datadaavaliacao,

pergunta1,

nota1,

entrevistado,

CASE nota1

WHEN 'nenhuma' THEN 0

WHEN 'ruim' THEN 1

WHEN 'regular' THEN 2

WHEN 'bom' THEN 3

WHEN 'otimo' THEN 4

WHEN 'excelente' THEN 5

END as 'SITUACAO1',

CASE nota2

WHEN 'nenhuma' THEN 0

WHEN 'ruim' THEN 1

WHEN 'regular' THEN 2

WHEN 'bom' THEN 3

WHEN 'otimo' THEN 4

WHEN 'excelente' THEN 5

END as 'SITUACAO2',

CASE nota3

WHEN 'nenhuma' THEN 0

WHEN 'ruim' THEN 1

WHEN 'regular' THEN 2

WHEN 'bom' THEN 3

WHEN 'otimo' THEN 4

WHEN 'excelente' THEN 5

END as 'SITUACAO3'

FROM

AVALIACAO

as CONSULTA_AVALIACAO

) CONSULTA_AVALIACAO

WHERE ((re1 = '".$_GET['re']."') OR (re2 = '".$_GET['re']."') OR (re3 = '".$_GET['re']."') OR (re4 = '".$_GET['re']."')) and

datadaavaliacao >= '".TrataData($_GET['datai'])."' and

datadaavaliacao <= '".TrataData($_GET['dataf'])."'

";

if(isSet($_GET['pergunta'])){

if($_GET['pergunta'] != ""){

$sql .= "and ((pergunta1 = '".$_GET['pergunta']."'));";

}

else {

$sql .= "";

}

}

 

//EXECUTA

$resultado = mysql_query($sql,$con);

 

 

//EXIBE OS RESULTADOS NA TELA

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>RELATÓRIO</title>

</head>

<body>

<h3><p align="center"><img src="imagens/asa.jpg" width="150" height="100" border="0">RELATÓRIO DE AVALIAÇÃO INDIVIDUAL<img src="imagens/PM_logo.jpg" width="120" height="100" border="0"></p></h3><br>

 

 

<?php

//obtendo o Nome de Guerra

$sql1 = "select nome_guerra from usuario where re = ".$registroEspecial;

$resultado1 = mysql_query($sql1,$con);

$linhaNome_guerra = mysql_fetch_array($resultado1);

$nome_guerra = $linhaNome_guerra['nome_guerra'];

?>

 

<?php

//obtendo o Posto ou Graduação

$sql2 = "select posto_graduacao from usuario where re = ".$registroEspecial;

$resultado2 = mysql_query($sql2,$con);

$linhaPosto_Graduacao = mysql_fetch_array($resultado2);

$posto_graduacao = $linhaPosto_Graduacao['posto_graduacao'];

?>

 

<?php

//obtendo a OPM

$sql3 = "select opm from usuario where re = ".$registroEspecial;

$resultado3 = mysql_query($sql3,$con);

$linhaOPM = mysql_fetch_array($resultado3);

$opm = $linhaOPM['opm'];

?>

 

 

OPM..: <?php echo $opm ?><br><br>

RE...: <?php echo $registroEspecial?> <?php echo $posto_graduacao ?> <?php echo $nome_guerra?><br><br>

Período consultado..: <?php echo $dataInicio.' à '.$dataFim ?>

<br><br>

 

<?php

echo "<table border='1' align='center'>";

 

 

//echo "<tr><td COLSPAN = 2 ><strong></strong></td></tr>";

echo "<tr align='center' bgcolor='#C0C0FF'>"."<th>PERGUNTAS</th>"."<th>MÉDIA</th>"."</tr>";

 

 

$contador = 0;

if(mysql_num_rows($resultado)){

while ($linha = mysql_fetch_array($resultado)) {

if($contador%2 == 0){

echo "<tr bgcolor='#FFFFCA'><td align = 'eight'>".$linha['pergunta1' ]."</td><td align= 'center'>".TrataMedia($linha['MEDIA'])."</td></tr>";

}

else{

echo "<tr bgcolor='#D5D5FF'><td align = 'eight'>".$linha['pergunta1' ]."</td><td align= 'center'>".TrataMedia($linha['MEDIA'])."</td></tr>";

}

$contador++;

}

}

echo "<tr><td COLSPAN = 2 align='center'> </td>";

echo "</table>";

echo "</center>";

 

?>

<h6><font color="#FF0000"><p align="center">"PARA IMPRIMIR UTILIZE AS TECLAS DE ATALHO CTRL P"</p></font></h6>

</body>

</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.