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

Criar Select com Totalizador


Carlos Arruda

Pergunta

Boa tarde pessaol!

Estou aqui novamente para pedir um auxilio.

Possuo um tabela mysql que se chama tbl_atraso, nessa tabela se registra o tempo de atraso de cada funcionario de uma empresa inserindo os dados login, data, status(entrada,retorno almoço ou saida), e um campo chamado tempo que fica as informçoes de atraso de cada funcioonario.

precisava fazer um select que me trouxesse todas as informaçoes de todos usuarios num intervalo de tempo e ao final de cada login gerar um campo totalizador com a soma dos atrasos por login.

É possivel fazer isso

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Boa tarde pessaol!

Estou aqui novamente para pedir um auxilio.

Possuo um tabela mysql que se chama tbl_atraso, nessa tabela se registra o tempo de atraso de cada funcionario de uma empresa inserindo os dados login, data, status(entrada,retorno almoço ou saida), e um campo chamado tempo que fica as informçoes de atraso de cada funcioonario.

precisava fazer um select que me trouxesse todas as informaçoes de todos usuarios num intervalo de tempo e ao final de cada login gerar um campo totalizador com a soma dos atrasos por login.

É possivel fazer isso

apezar de você tentar explidar nada entendir.

Nesse selecte vai o nome do funcionario?

e você quer que ao selecionar busca todas as informações referente a este funcionario?

seria isso;

procure esclarecer melhor o seu objetivo até mais

Link para o comentário
Compartilhar em outros sites

  • 0

rickayron,

vou tentar explicar melhor. Todos os eventos de atrasos tanto quanto de entrada, retorno do almoco, e saida mais cedo é registrado nessa tabela.

preciso fazer um select para trazer as informçoes de atrasos de todos os funcionarios por um determinado periodo de data, e ao final de cada funcionario exibir um totalizador. Tentei o comando abaixo porem ele não retorna as informçoes como eu queria, porq ele soma todos os atrasos de entrada, retorno e saida. Porem eu preciso que exiba pela data esses eventos e so ao final some tudo desse usuario. Espero que tenha conseguido me expressar melhor agora.

SELECT CASE WHEN status is not NULL

THEN ''

ELSE 'Total Atraso'

END AS '', login,

STATUS ,

DATA , modulo, SEC_TO_TIME( SUM( TIME_TO_SEC( tempo ) ) )

FROM tbl_atraso

GROUP BY login,

STATUS WITH rollup

Link para o comentário
Compartilhar em outros sites

  • 0
rickayron,

vou tentar explicar melhor. Todos os eventos de atrasos tanto quanto de entrada, retorno do almoco, e saida mais cedo é registrado nessa tabela.

preciso fazer um select para trazer as informçoes de atrasos de todos os funcionarios por um determinado periodo de data, e ao final de cada funcionario exibir um totalizador. Tentei o comando abaixo porem ele não retorna as informçoes como eu queria, porq ele soma todos os atrasos de entrada, retorno e saida. Porem eu preciso que exiba pela data esses eventos e so ao final some tudo desse usuario. Espero que tenha conseguido me expressar melhor agora.

SELECT CASE WHEN status is not NULL

THEN ''

ELSE 'Total Atraso'

END AS '', login,

STATUS ,

DATA , modulo, SEC_TO_TIME( SUM( TIME_TO_SEC( tempo ) ) )

FROM tbl_atraso

GROUP BY login,

STATUS WITH rollup

selecione os dados e some com php dentro laço que voce vai exibir

ex

while(...)

{

... exibindo numa tabela ou div

$s+=strtotime($campo->tempo); //strtotime vai converter as horas retornado pelo banco e somando depois é

so formata-la para hh:ii:ss acho que é a melhor solução para voce caso não goste de usar a strtotime acredito que possa usar a mktime é uma função que soma ano mes dia horas minutos secundos

Link para o comentário
Compartilhar em outros sites

  • 0

não entendi!

o select que passei já faz a soma dos minutos eu preciso somente exibir todos dos eventos dos funcionarios e so no final somar.

faria tipo assim:

é de algo igual ao abaixo que eu preciso

login tempo status data

carlos.augusto 00:05 Entrada 07/05/2010

carlos.augusto 00:20 Retorno Almoco 07/05/2010

carlos.augusto 00:15 Entrada 08/05/2010

carlos.augusto 00:10 saida 09/05/2010

Total 00:50

elton.amaro 00:25 Entrada 07/05/2010

elton.amaro 00:10 Retorno Almoco 07/05/2010

elton.amaro 00:08 Entrada 08/05/2010

elton.amaro 00:10 saida 09/05/2010

Total 00:53

Link para o comentário
Compartilhar em outros sites

  • 0
não entendi!

o select que passei já faz a soma dos minutos eu preciso somente exibir todos dos eventos dos funcionarios e so no final somar.

faria tipo assim:

é de algo igual ao abaixo que eu preciso

login tempo status data

carlos.augusto 00:05 Entrada 07/05/2010

carlos.augusto 00:20 Retorno Almoco 07/05/2010

carlos.augusto 00:15 Entrada 08/05/2010

carlos.augusto 00:10 saida 09/05/2010

Total 00:50

elton.amaro 00:25 Entrada 07/05/2010

elton.amaro 00:10 Retorno Almoco 07/05/2010

elton.amaro 00:08 Entrada 08/05/2010

elton.amaro 00:10 saida 09/05/2010

Total 00:53

se o seu select já soma e seleciona basta utilizar um laço para exibir os dados

Link para o comentário
Compartilhar em outros sites

  • 0

É ta quase como eu qria, prq quando tem mais de um status entrada em periodos diferente ele exibe somente um com a soma dos dois e no total geral ele retorna somente a ultima data.

rode esse comando ai e veja o que to querendo dizer, sem em dias diferentes eu entrei atrasado ele soma os atrasos de entrada e exibe uma unica informaçao com uma unica data.

Link para o comentário
Compartilhar em outros sites

  • 0
É ta quase como eu qria, prq quando tem mais de um status entrada em periodos diferente ele exibe somente um com a soma dos dois e no total geral ele retorna somente a ultima data.

rode esse comando ai e veja o que to querendo dizer, sem em dias diferentes eu entrei atrasado ele soma os atrasos de entrada e exibe uma unica informaçao com uma unica data.

post o sql do seu banco para eu criar o bd e testar aqui até mais

Link para o comentário
Compartilhar em outros sites

  • 0

Opa!

segue toda a estrutura do banco.

-- phpMyAdmin SQL Dump

-- version 3.1.3.1

-- http://www.phpmyadmin.net

--

-- Servidor: localhost

-- Tempo de Geração: Mai 11, 2010 as 11:37 AM

-- Versão do Servidor: 5.1.33

-- Versão do PHP: 5.2.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

-- Banco de Dados: `ponto`

--

-- --------------------------------------------------------

--

-- Estrutura da tabela `dif_almoco`

--

CREATE TABLE IF NOT EXISTS `dif_almoco` (

`diferenca` varchar(255) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `dif_almoco`

--

INSERT INTO `dif_almoco` (`diferenca`) VALUES

('01:18');

-- --------------------------------------------------------

--

-- Estrutura da tabela `funcionarios`

--

CREATE TABLE IF NOT EXISTS `funcionarios` (

`nome` varchar(255) NOT NULL,

`login` varchar(20) NOT NULL,

`senha` varchar(20) NOT NULL,

`id_func` int(11) NOT NULL AUTO_INCREMENT,

`horaentrada` varchar(255) NOT NULL,

`horasaida` varchar(255) NOT NULL,

`email` varchar(255) NOT NULL,

`descanso` varchar(255) NOT NULL,

PRIMARY KEY (`id_func`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--

-- Extraindo dados da tabela `funcionarios`

--

INSERT INTO `funcionarios` (`nome`, `login`, `senha`, `id_func`, `horaentrada`, `horasaida`, `email`, `descanso`) VALUES

('Elton Amaro da Silva', 'elton.amaro', '123456', 4, '15:30', '23:30', 'elton.amaro@campello.com.br', '01:18'),

('Carlos Augusto Gonçalves Arruda', 'carlos.augusto', 'campello', 3, '08:00', '18:00', 'carlos.augusto@campello.com.br', '01:18');

-- --------------------------------------------------------

--

-- Estrutura da tabela `func_mod`

--

CREATE TABLE IF NOT EXISTS `func_mod` (

`id_func_mod` int(20) NOT NULL,

`modulo` varchar(20) NOT NULL,

KEY `id_func_mod` (`id_func_mod`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `func_mod`

--

INSERT INTO `func_mod` (`id_func_mod`, `modulo`) VALUES

(4, 'Ello Servicos'),

(3, 'Ello Solucoes'),

(3, 'Ello Servicos'),

(3, 'Gerente'),

(3, 'Administrador');

-- --------------------------------------------------------

--

-- Estrutura da tabela `modulos`

--

CREATE TABLE IF NOT EXISTS `modulos` (

`id_mod` int(11) NOT NULL AUTO_INCREMENT,

`nome_mod` varchar(20) NOT NULL,

`nome_real` varchar(255) NOT NULL,

PRIMARY KEY (`id_mod`),

UNIQUE KEY `nome_mod` (`nome_mod`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--

-- Extraindo dados da tabela `modulos`

--

INSERT INTO `modulos` (`id_mod`, `nome_mod`, `nome_real`) VALUES

(1, 'Ello Solucoes', 'Ello Soluções'),

(2, 'Ello Servicos', 'Ello Serviços'),

(3, 'Gerente', 'Gerente'),

(5, 'Administrador', 'Administrador');

-- --------------------------------------------------------

--

-- Estrutura da tabela `status`

--

CREATE TABLE IF NOT EXISTS `status` (

`nome` varchar(255) NOT NULL,

`login` varchar(255) NOT NULL,

`modulo` varchar(255) NOT NULL,

`data` varchar(255) NOT NULL,

`hora` varchar(255) NOT NULL,

`status` varchar(255) NOT NULL,

`observacao` varchar(255) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `status`

--

INSERT INTO `status` (`nome`, `login`, `modulo`, `data`, `hora`, `status`, `observacao`) VALUES

('Elton Amaro da Silva', 'elton.amaro', 'Ello Servicos', '10/05/2010', '20:43', 'Retorno Almoco', ''),

('Elton Amaro da Silva', 'elton.amaro', 'Ello Servicos', '10/05/2010', '19:23', 'Saida Almoco', ''),

('Elton Amaro da Silva', 'elton.amaro', 'Ello Servicos', '10/05/2010', '04:20', 'Entrada', '');

-- --------------------------------------------------------

--

-- Estrutura da tabela `tbl_atraso`

--

CREATE TABLE IF NOT EXISTS `tbl_atraso` (

`nome` varchar(255) NOT NULL,

`login` varchar(255) NOT NULL,

`data` varchar(255) NOT NULL,

`status` varchar(255) NOT NULL,

`hora` varchar(255) NOT NULL,

`tempo` varchar(255) NOT NULL,

`modulo` varchar(255) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `tbl_atraso`

--

INSERT INTO `tbl_atraso` (`nome`, `login`, `data`, `status`, `hora`, `tempo`, `modulo`) VALUES

('Elton Amaro da Silva', 'elton.amaro', '10/05/2010', 'Entrada', '20:20', '00:50', 'Ello Servicos'),

('Elton Amaro da Silva', 'elton.amaro', '10/05/2010', 'Retorno Almoco', '20:43', '00:02', 'Ello Servicos'),

('Carlos Augusto', 'carlos.augusto', '10/05/2010', 'Entrada', '09:00', '01:00', 'Ello Solucoes');

-- --------------------------------------------------------

--

-- Estrutura da tabela `tbl_status`

--

CREATE TABLE IF NOT EXISTS `tbl_status` (

`status_situacao` varchar(255) NOT NULL,

`status_real` varchar(255) NOT NULL,

`ordem` int(8) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `tbl_status`

--

INSERT INTO `tbl_status` (`status_situacao`, `status_real`, `ordem`) VALUES

('Entrada', 'Entrada', 1),

('Saida Almoco', 'Saída Almoço', 2),

('Retorno Almoco', 'Retorno Almoço', 3),

('Saida', 'Saída', 4);

Link para o comentário
Compartilhar em outros sites

  • 0
Opa!

segue toda a estrutura do banco.

-- phpMyAdmin SQL Dump

-- version 3.1.3.1

-- http://www.phpmyadmin.net

--

-- Servidor: localhost

-- Tempo de Geração: Mai 11, 2010 as 11:37 AM

-- Versão do Servidor: 5.1.33

-- Versão do PHP: 5.2.9

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

-- Banco de Dados: `ponto`

--

-- --------------------------------------------------------

--

-- Estrutura da tabela `dif_almoco`

--

CREATE TABLE IF NOT EXISTS `dif_almoco` (

`diferenca` varchar(255) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `dif_almoco`

--

INSERT INTO `dif_almoco` (`diferenca`) VALUES

('01:18');

-- --------------------------------------------------------

--

-- Estrutura da tabela `funcionarios`

--

CREATE TABLE IF NOT EXISTS `funcionarios` (

`nome` varchar(255) NOT NULL,

`login` varchar(20) NOT NULL,

`senha` varchar(20) NOT NULL,

`id_func` int(11) NOT NULL AUTO_INCREMENT,

`horaentrada` varchar(255) NOT NULL,

`horasaida` varchar(255) NOT NULL,

`email` varchar(255) NOT NULL,

`descanso` varchar(255) NOT NULL,

PRIMARY KEY (`id_func`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--

-- Extraindo dados da tabela `funcionarios`

--

INSERT INTO `funcionarios` (`nome`, `login`, `senha`, `id_func`, `horaentrada`, `horasaida`, `email`, `descanso`) VALUES

('Elton Amaro da Silva', 'elton.amaro', '123456', 4, '15:30', '23:30', 'elton.amaro@campello.com.br', '01:18'),

('Carlos Augusto Gonçalves Arruda', 'carlos.augusto', 'campello', 3, '08:00', '18:00', 'carlos.augusto@campello.com.br', '01:18');

-- --------------------------------------------------------

--

-- Estrutura da tabela `func_mod`

--

CREATE TABLE IF NOT EXISTS `func_mod` (

`id_func_mod` int(20) NOT NULL,

`modulo` varchar(20) NOT NULL,

KEY `id_func_mod` (`id_func_mod`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `func_mod`

--

INSERT INTO `func_mod` (`id_func_mod`, `modulo`) VALUES

(4, 'Ello Servicos'),

(3, 'Ello Solucoes'),

(3, 'Ello Servicos'),

(3, 'Gerente'),

(3, 'Administrador');

-- --------------------------------------------------------

--

-- Estrutura da tabela `modulos`

--

CREATE TABLE IF NOT EXISTS `modulos` (

`id_mod` int(11) NOT NULL AUTO_INCREMENT,

`nome_mod` varchar(20) NOT NULL,

`nome_real` varchar(255) NOT NULL,

PRIMARY KEY (`id_mod`),

UNIQUE KEY `nome_mod` (`nome_mod`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--

-- Extraindo dados da tabela `modulos`

--

INSERT INTO `modulos` (`id_mod`, `nome_mod`, `nome_real`) VALUES

(1, 'Ello Solucoes', 'Ello Soluções'),

(2, 'Ello Servicos', 'Ello Serviços'),

(3, 'Gerente', 'Gerente'),

(5, 'Administrador', 'Administrador');

-- --------------------------------------------------------

--

-- Estrutura da tabela `status`

--

CREATE TABLE IF NOT EXISTS `status` (

`nome` varchar(255) NOT NULL,

`login` varchar(255) NOT NULL,

`modulo` varchar(255) NOT NULL,

`data` varchar(255) NOT NULL,

`hora` varchar(255) NOT NULL,

`status` varchar(255) NOT NULL,

`observacao` varchar(255) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `status`

--

INSERT INTO `status` (`nome`, `login`, `modulo`, `data`, `hora`, `status`, `observacao`) VALUES

('Elton Amaro da Silva', 'elton.amaro', 'Ello Servicos', '10/05/2010', '20:43', 'Retorno Almoco', ''),

('Elton Amaro da Silva', 'elton.amaro', 'Ello Servicos', '10/05/2010', '19:23', 'Saida Almoco', ''),

('Elton Amaro da Silva', 'elton.amaro', 'Ello Servicos', '10/05/2010', '04:20', 'Entrada', '');

-- --------------------------------------------------------

--

-- Estrutura da tabela `tbl_atraso`

--

CREATE TABLE IF NOT EXISTS `tbl_atraso` (

`nome` varchar(255) NOT NULL,

`login` varchar(255) NOT NULL,

`data` varchar(255) NOT NULL,

`status` varchar(255) NOT NULL,

`hora` varchar(255) NOT NULL,

`tempo` varchar(255) NOT NULL,

`modulo` varchar(255) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `tbl_atraso`

--

INSERT INTO `tbl_atraso` (`nome`, `login`, `data`, `status`, `hora`, `tempo`, `modulo`) VALUES

('Elton Amaro da Silva', 'elton.amaro', '10/05/2010', 'Entrada', '20:20', '00:50', 'Ello Servicos'),

('Elton Amaro da Silva', 'elton.amaro', '10/05/2010', 'Retorno Almoco', '20:43', '00:02', 'Ello Servicos'),

('Carlos Augusto', 'carlos.augusto', '10/05/2010', 'Entrada', '09:00', '01:00', 'Ello Solucoes');

-- --------------------------------------------------------

--

-- Estrutura da tabela `tbl_status`

--

CREATE TABLE IF NOT EXISTS `tbl_status` (

`status_situacao` varchar(255) NOT NULL,

`status_real` varchar(255) NOT NULL,

`ordem` int(8) NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--

-- Extraindo dados da tabela `tbl_status`

--

INSERT INTO `tbl_status` (`status_situacao`, `status_real`, `ordem`) VALUES

('Entrada', 'Entrada', 1),

('Saida Almoco', 'Saída Almoço', 2),

('Retorno Almoco', 'Retorno Almoço', 3),

('Saida', 'Saída', 4);

Tentei segui se raciocinio e conclui nisso aqui

http://www.bhnigth.com/Usuarios/

imagem embaixo

ScreenShot014.jpg

codigo

<?php

function FormatarNumero($Entrada)

{

($Entrada <=9) ? ($Saida="0".$Entrada) : ($Saida=$Entrada);

return $Saida;

}

$con=mysql_connect("banco","usuario","senha");

$ba=mysql_select_db("bhnigth_1");

$sql=mysql_query("select * from tbl_atraso order by login");

$Cabeca="<table name='TableDados' id='TableDados' size='100%' align='center'>

<Tr>

<Td>Codigo</td>

<td>Login</td>

<td>Tempo</td>

<Td>Status<Td>

<td>Data</td>

</tr>";

$n=0;

$q=1;

$N_registros=mysql_num_rows($sql);

while($s=mysql_fetch_object($sql))

{

$Array[Login][$n]=$s->login;

$Array[Tempo][$n]=$s->tempo;

$Array[status][$n]=$s->status;

$Array[Data][$n]=$s->data;

$Array[Codigo][$n]=$s->Atraso_id;

( ($n%2)>0) ? ($Array[$n]="#FFFFC0") : ($Array[$n]="#D0D0D0");

$n++;

$q++;

}

$Unico=array_unique($Array[Login]);

echo $Cabeca;

foreach($Unico as $chave => $valor)

{

for($i=0; $i<=count($Array[Tempo]); $i++)

{

if($Array[Login][$i]==$valor)

{

$tems=explode(":", $Array[Tempo][$i]);

$TotalTempo[$valor]+=( ($tems[0]*60*60)+($tems[1]*60) );

$cor=$Array[$i];

echo "<Tr style='background-color:$cor'><Td>".$Array[Codigo][$i]."</td><td>".$Array[Login][$i]."</td><td>".$Array[Tempo][$i]."</td><td>".$Array[status][$i]."</td><td>".$Array[Data][$i]."</td></tr>";

}

}

$Hora=(int)($TotalTempo[$valor]/3600);

$Minu=(int)(($TotalTempo[$valor]%3600) /60);

echo "<Tr style='background-color:#C0FFC0'><td colspan=5>Total = ".FormatarNumero($Hora).":".FormatarNumero($Minu)."</td></tr>";

}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal, consegui fazer o que eu qria.

To passando para agradecer a todos pelo empenho e postar como ficou o codigo.

<?php

include('config.php');

$mod_modulo=$_POST['modulo'];

$pesquisar=$_POST['pesquisar'];

$dta_ini=$_POST['dtainicial'];

$dta_fin=$_POST['dtafinal'];

//verifica se o botao pesquisar foi pressionado se os campos datas não estao vazios

if(($pesquisar==Pesquisar') && ($dta_ini!="") && ($dta_fin!="")){

//se o modulo for vaizo seleciona tudo

if($mod_modulo==""){

$sql_total="SELECT * FROM tbl_atraso WHERE data BETWEEN '$dta_ini' AND '$dta_fin' ORDER BY nome,data,hora";

$res_total=mysql_query($sql_total);

//select para trazer o total de atraso por funcionario

$sql_atraso="SELECT nome,SEC_TO_TIME( SUM( TIME_TO_SEC( tempo ) ) ) as Soma_Atraso

FROM tbl_atraso WHERE data BETWEEN '$dta_ini' AND '$dta_fin'

GROUP BY NOME";

$res_atraso=mysql_query($sql_atraso);

//variavel de incremento com valor zero

$contt=0;

//variavel em vetor

$atraso=array();

//laço/looping

while($sql_res_atraso=mysql_fetch_array($res_atraso)){

$atraso[$contt]=$sql_res_atraso['Soma_Atraso];

$contt+=1;

}

$linha=mysql_num_rows($res_total);

if($linha>0){

// escreve o cabeçalho da tabela

echo "<table align=center><tr><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Nome Funcionario</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Login</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Data</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Status</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Hora do Evento</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Atraso ou Saida mais Cedo</td></tr>";

}

$cont=0;

$nome=array();

$login=array();

$data=array();

$hora=array();

$status=array();

$hora=array();

$tempo=array();

//faz o looping com os valores da consulta

while($exibe=mysql_fetch_array($res_total)){

$nome[$cont]=$exibe['nome'];

$login[$cont]=$exibe['login'];

$data[$cont]=$exibe['data'];

$status[$cont]=$exibe['status'];

$hora[$cont]=$exibe['hora'];

$tempo[$cont]=$exibe['tempo'];

$cont+=1;

}

$i=0;

for($x=0;$x<$linha;$x++){

//monta a tabela com os resultados do select

echo "<tr><td bgcolor=#CCCCCC><font face=Verdana size=1>$nome[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$login[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$data[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$status[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$hora[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$tempo[$x]</td></tr>";

if($nome[$x+1]!=$nome[$x]){

echo "<tr><td bgcolor=#333333 colspan=5><font face=Verdana size=1 color=#ffffff><b>Total Atraso</b></td><td bgcolor=#333333><font face=Verdana size=1 color=#ffffff><b>$atraso[$i]</b></td></tr>";

$i+=1;

}

}

}

if($mod_modulo!="){

$sql_total="SELECT * FROM tbl_atraso WHERE data BETWEEN '$dta_ini' AND '$dta_fin' and modulo='$mod_modulo' ORDER BY nome,data,hora";

$res_total=mysql_query($sql_total);

$sql_atraso="SELECT nome,SEC_TO_TIME( SUM( TIME_TO_SEC( tempo ) ) ) as Soma_Atraso

FROM tbl_atraso WHERE modulo='$mod_modulo' and data BETWEEN '$dta_ini' and '$dta_fin' and modulo='$mod_modulo'

GROUP BY NOME";

$res_atraso=mysql_query($sql_atraso);

$contt=0;

$atraso=array();

while($sql_res_atraso=mysql_fetch_array($res_atraso)){

$atraso[$contt]=$sql_res_atraso['Soma_Atraso];

$contt+=1;

}

$linha=mysql_num_rows($res_total);

if($linha>0){

// escreve o cabeçalho da tabela

echo "<table align=center><tr><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Nome Funcionario</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Login</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Data</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Status</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Hora do Evento</td><td bgcolor=#333333 align=center><font face=Verdana size=1 color=ffffff><b>Atraso ou Saida mais Cedo</td></tr>";

}

$cont=0;

$nome=array();

$login=array();

$data=array();

$hora=array();

$status=array();

$hora=array();

$tempo=array();

//faz o looping com os valores da consulta

while($exibe=mysql_fetch_array($res_total)){

$nome[$cont]=$exibe['nome'];

$login[$cont]=$exibe['login'];

$data[$cont]=$exibe['data'];

$status[$cont]=$exibe['status'];

$hora[$cont]=$exibe['hora'];

$tempo[$cont]=$exibe['tempo'];

$cont+=1;

}

$i=0;

for($x=0;$x<$linha;$x++){

//monta a tabela com os resultados do select

echo "<tr><td bgcolor=#CCCCCC><font face=Verdana size=1>$nome[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$login[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$data[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$status[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$hora[$x]</td><td bgcolor=#CCCCCC><font face=Verdana size=1>$tempo[$x]</td></tr>";

if($nome[$x+1]!=$nome[$x]){

echo "<tr><td bgcolor=#333333 colspan=5><font face=Verdana size=1 color=#ffffff><b>Total Atraso<b/></td><td bgcolor=#333333><font face=Verdana size=1 color=#ffffff><b>$atraso[$i]</b></td></tr>";

$i+=1;

}

}

}

}

//fecha tabela e conexao

echo "</table>";

echo "</table>";

mysql_close($con);

?>

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...