Ir para conteúdo

POWERED BY:

Arquivado

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

Vinizinhu

[Resolvido] Criar tabela de estatisticas separando por mes

Recommended Posts

Boa dia pessoal! Gostaria de tirar uma duvida. Estou em um projeto e no mesmo tenho que fazer uma tabela de estatisticas do mes. Fiz todos os selects corretos e tudo mais, porem não consegui discriminar por MES. Do jeito que fiz vai aparecendo TODOS os registros armazenados indiferentemente do mês. Tentei fazer um explode da data mas nao deu muito certo. Abaixo segue a pagina:

 

<?php
include "connect_db.php";
include "oculta_erros.php";

//***************************************************************************//
//***************************************************************************//
// Faz a consulta de Chamados Pendentes de cada setor.

$contagem_comercio_exterior1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Comercio Exterior' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_comercio_exterior1)." registros de OS para o setor Comercio Exterior!";

$contagem_diretoria1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Diretoria' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_diretoria1)." registros de OS para o setor Diretoria!";

$contagem_financeiro1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Financeiro' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_financeiro1)." registros de OS para o setor Financeiro!";

$contagem_logistica1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Logistica' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_logistica1)." registros de OS para o setor Logistica!";

$contagem_marketing1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Marketing' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_marketing1)." registros de OS para o Marketing!";

$contagem_rh1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'RH' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_rh1)." registros de OS para o RH!";

$contagem_ti1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'TI' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_ti1)." registros de OS para o setor TI!";

$contagem_suporte_a_vendas1 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Suporte a Vendas' and status_chamada = 'Pendente'");
//echo "Existem: ".mysql_num_rows($contagem_suporte_a_vendas1)." registros de OS para o setor Suporte a Vendas!";


//***************************************************************************//
//***************************************************************************//
// Faz a consulta de Chamados em Andamento de cada setor.

$contagem_comercio_exterior2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Comercio Exterior' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_comercio_exterior2)." registros de OS para o setor Comercio Exterior!";

$contagem_diretoria2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Diretoria' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_diretoria2)." registros de OS para o setor Diretoria!";

$contagem_financeiro2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Financeiro' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_financeiro2)." registros de OS para o setor Financeiro!";

$contagem_logistica2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Logistica' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_logistica2)." registros de OS para o setor Logistica!";

$contagem_marketing2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Marketing' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_marketing2)." registros de OS para o Marketing!";

$contagem_rh2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'RH' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_rh2)." registros de OS para o RH!";

$contagem_ti2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'TI' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_ti2)." registros de OS para o setor TI!";

$contagem_suporte_a_vendas2 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Suporte a Vendas' and status_chamada = 'Andamento'");
//echo "Existem: ".mysql_num_rows($contagem_suporte_a_vendas2)." registros de OS para o setor Suporte a Vendas!";

//***************************************************************************//
//***************************************************************************//
// Faz a consulta de Chamados Concluido de cada setor.

$contagem_comercio_exterior3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Comercio Exterior' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_comercio_exterior3)." registros de OS para o setor Comercio Exterior!";

$contagem_diretoria3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Diretoria' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_diretoria3)." registros de OS para o setor Diretoria!";

$contagem_financeiro3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Financeiro' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_financeiro3)." registros de OS para o setor Financeiro!";

$contagem_logistica3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Logistica' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_logistica3)." registros de OS para o setor Logistica!";

$contagem_marketing3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Marketing' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_marketing3)." registros de OS para o Marketing!";

$contagem_rh3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'RH' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_rh3)." registros de OS para o RH!";

$contagem_ti3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'TI' and status_chamada = 'Concluido'");
//echo "Existem: ".mysql_num_rows($contagem_ti3)." registros de OS para o setor TI!";

$contagem_suporte_a_vendas3 = mysql_query("SELECT * from chamada_os WHERE setor_reclamante_chamada = 'Suporte a Vendas' and status_chamada = 'Concluido' and data_chamada = '$mes' ");
//echo "Existem: ".mysql_num_rows($contagem_suporte_a_vendas3)." registros de OS para o setor Suporte a Vendas!";

//***************************************************************************************//

//****************************************************************************************//


$contagem_total = mysql_query("SELECT * from chamada_os");
echo "Existe um total de ".mysql_num_rows($contagem_total)." registros armazenados!<br><br>";

$contagem_pendente = mysql_query("SELECT * from chamada_os where status_chamada = 'Pendente'");
echo "Existe um total de ".mysql_num_rows($contagem_pendente)." chamadas pendentes!<br><br>";

$contagem_andamento = mysql_query("SELECT * from chamada_os where status_chamada = 'Andamento'");
echo "Existe um total de ".mysql_num_rows($contagem_andamento)." chamadas em andamento!<br><br>";

$contagem_concluido = mysql_query("SELECT * from chamada_os where status_chamada = 'Concluido'");
echo "Existe um total de ".mysql_num_rows($contagem_concluido)." chamadas concluidas!<br><br>";








?>





<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
 <table width="647" height="277" border="1">
   <tr>
     <td width="157"><div align="center">Setor</div></td>
     <td width="165"><div align="center">Pendente</div></td>
     <td width="154"><div align="center">Andamento</div></td>
     <td width="143"><p align="center">Concluido</p></td>
   </tr>
   <tr>
     <td>Comercio Exterior</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_comercio_exterior1)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_comercio_exterior2)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_comercio_exterior3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>Diretoria</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_diretoria1)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_diretoria2)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_diretoria3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>Financeiro</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_financeiro1)." chamadas";?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_financeiro2)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_financeiro3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>Logistica</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_logistica1)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_logistica2)." chamadas";
?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_logistica3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>Marketing</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_marketing1)." chamadas"; ?><br />
     </div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_marketing2)." chamadas";
?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_marketing3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>RH</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_rh1)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_rh2)." chamadas";?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_rh3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>TI</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_ti1)." chamadas";
?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_ti2)." chamadas";?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_ti3)." chamadas"; ?></div></td>
   </tr>
   <tr>
     <td>Suporte a Vendas</td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_suporte_a_vendas1)." chamadas" ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_suporte_a_vendas2)." chamadas"; ?></div></td>
     <td><div align="center"><?php echo "".mysql_num_rows($contagem_suporte_a_vendas3)." chamadas"; ?></div></td>
   </tr>
 </table>
</form>
</body>
</html>

 

 

 

 

 

Se alguem souber como me ajudar agradeço desde jjá.

 

Abraços!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pensou em selecionar um mes de cada vez usando o "between".

 

ou então ordenar por data(order by) e contar a cada mes

 

palpite de iniciante..

 

Opa beleza cara? Tipo a hipostese de contar no fim de casa mês é descartada, pois querem tudo 'automatizado'.

 

Mas esse lançe do between eu na otinha pensado, dei uma pesquisada e vou testar assim que der retorno resultados!

 

Valeu cara

 

abração!

 

ps: Sou iniciante em programação, mas esforçado aokskoaokpsa³ xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

o contar eu num falo manualmente n, é no código msm.qlqr dúvida e tiver nas minhas mãos tamo ae, eu so fraco mas a galera aki fraga muito!!!

 

 

To ligado cara o pessoal aqui manja muito mesmo hehe. Vou fazer os testes na segunda quando chegaqr no trabalho, porque meus arquivos ficaram lá, assim que testar retorno os resultados, mas tenho certeza que vai dar certo dei uma estudada no between. Se precisar de algo estamos ai tambem! Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa beleza deu tudo certinho aqui :D Poreem me restou outra duvida: Como vou fazer para ela ir separando todo mês, sem eu precisar ficar alterando as datas do between? Não sei se fui muito claro, mas tipo, no meu exemplo coloquei as datas de 2009-12-01 até 2009-12-31. Beleza, ele vai separar os dados de dezembro, mas e janeiro? Terei que ir na "mão" e alterar para 2009-01-01 até 2009-01-31 para ele contar?

 

Valeu a atenção cara, ja ajudou um monte.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinizinhu,

 

faça algo simples assim

 

 

crie essa tabela e insira esses dados para testes

CREATE TABLE `Foo` (
  `ID` int(10) NOT NULL,
  `DateCreated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY  (`ID`),
  UNIQUE KEY `ID` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO Foo ( `ID`, `DateCreated` ) VALUES 
    ( 1, '2009-01-01 00:00:00' ),
    ( 2, '2009-01-10 00:00:00' ),
    ( 3, '2009-02-01 00:00:00' ),
    ( 4, '2009-03-11 00:00:00' ),
    ( 5, '2009-03-16 00:00:00' ),
    ( 6, '2009-03-18 00:00:00' ),
    ( 7, '2009-04-09 00:00:00' ),
    ( 8, '2009-05-01 00:00:00' ),
    ( 9, '2009-06-01 00:00:00' ),
    ( 10, '2009-07-01 00:00:00' ),
    ( 11, '2009-08-11 00:00:00' ),
    ( 12, '2009-08-13 00:00:00' ),
    ( 13, '2009-09-06 00:00:00' ),
    ( 14, '2009-09-25 00:00:00' ),
    ( 15, '2009-10-01 00:00:00' ),
    ( 16, '2009-10-01 00:00:00' ),
    ( 17, '2009-11-01 00:00:00' ),
    ( 18, '2009-11-01 00:00:00' ),
    ( 19, '2009-11-01 00:00:00' ),
    ( 20, '2009-12-01 00:00:00' );

 

execute essa instrução e veja o resultado

 

SELECT 
    COUNT( `ID` ) AS NUM, 
    MONTH( `DateCreated` ) AS M 
FROM `Foo`
WHERE
    YEAR( `DateCreated` ) = 2009
    GROUP BY `M`
    ORDER BY `M` ASC

 

ID -> id do registro

DateCreated -> data do registro

 

NUM -> representa um alias para a quantidade de registros encontrados pela função COUNT()

M -> representa alias para o mês extraído pela função MONTH()

GROUP BY `M` -> serve para agrupar os registros repetidos. Ao invés de listar todos, listará somente a contagem final.

ORDER BY `M` ASC -> organiza os meses do resultado em ordem crescente

 

 

 

consulte o forum MySQL.

 

 

obs: a tabela SQL e os dados acima são apenas para aprendizado.

 

o importante para o seu caso é a instrução SQL que retorna o resultado esperado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa beleza Hinom, to dando uma pesquisada em cima do que você postou, e tambem pensando um jeito de fazer um botão de seleção, e validar com switch case :D

 

switch($mes)

case ($mes) == ('janeiro'):

faz tal consulta;

break;

 

case ($mes) == ('fevereiro');

faz talconsulta

break;

 

:D

 

acho que vai dar certo. Mas vou testar aqueles codigos que você colocou para aprender de outras formas tambem :D Afinal, aprender é SEMPRE bom.

 

Valeu pela ajuda pessoal, assim que tiver resultados posto aqui.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa pessoal beleza? Queria agradecer a ajuda de vocês que postaram suas opiniões e tudo mais.

 

Consegui fazer uma lógica com switch case e ta funcionando perfeitinho :D

 

Desculpem a demora para responder o topico e mais uma vez obrigado aos que me ajudaram. :D

 

Abraçooo

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.