Jump to content


Photo

Somar Horas


  • Faça o login para participar
1 reply to this topic

#1 carlosins

carlosins

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Não informado

Posted 21/04/2009, 14:47

Pessoal estou desenvolvendo um sistema de controle de ponto que deve totalizar o numero de horas executadas (banco de horas) para utilizar posteriormente.
A minha dificuldade é que ao somar as diferenças de horas executadas em cada dia o código que estou utilizando zera a contagem quando atinge 24:00, ou seja só soma até 23:59.
Então como posso corrigir o código para somar até o limite mensal que é 176:00 horas.
Vejam o código:

[codebox]
$sql = mysql_query("SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( jorndif ) ) ) AS total_horas FROM ponto$comp where oco != '33333' and siape = '$mat'");
$tdeb = mysql_result($sql,0,"total_horas");
$sq = mysql_query("SELECT SEC_TO_TIME( SUM( TIME_TO_SEC( jorndif ) ) ) AS total_horas FROM ponto$comp where oco = '33333' and siape = '$mat'");
$tcre = mysql_result($sq,0,"total_horas");
$hodeb = explode(":", $tdeb);
$hocre = explode(":", $tcre);
if($tdeb > $tcre)
{
$thor = mktime ($hodeb[0] - $hocre[0], $hodeb[1] - $hocre[1], 0, 0 );
$tohor = date("H:i", $thor);
$total = "-".$tohor;
$cod = '00172';
}
else
{
$thor = mktime ($hocre[0] - $hodeb[0], $hocre[1] - $hodeb[1], 0, 0 );
$tohor = date("H:i", $thor);
$total = "+".$tohor;
$cod = '33333';
}
[/codebox]

Edição feita por: Dudu, 23/04/2009, 15:42.
Utilize as tags [codebox][/codebox]


#2 S4ur0N

S4ur0N

    Ainda Normal

  • Usuários
  • 274 posts
  • Sexo:Não informado
  • Localidade:Blumenau - SC

Posted 21/04/2009, 17:39

Tenta fazer tudo usando timestamp, e depois converta o resultado pra horas manualmente com divisão.
©2009 - Todos os direitos reservados.




2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq