Vinizinhu 0 Denunciar post Postado Dezembro 11, 2009 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
Victor Cometti 8 Denunciar post Postado Dezembro 11, 2009 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.. Compartilhar este post Link para o post Compartilhar em outros sites
Vinizinhu 0 Denunciar post Postado Dezembro 11, 2009 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
Victor Cometti 8 Denunciar post Postado Dezembro 12, 2009 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!!! Compartilhar este post Link para o post Compartilhar em outros sites
Vinizinhu 0 Denunciar post Postado Dezembro 12, 2009 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
Vinizinhu 0 Denunciar post Postado Dezembro 15, 2009 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
hinom 5 Denunciar post Postado Dezembro 15, 2009 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
Vinizinhu 0 Denunciar post Postado Dezembro 15, 2009 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
Vinizinhu 0 Denunciar post Postado Dezembro 18, 2009 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