ScriptCase Forum

Desenvolvedores => Programação => Tópico iniciado por: alesalves em Julho 07, 2009, 11:41:10 am

Título: Duvidas para calculo de hora
Enviado por: alesalves em Julho 07, 2009, 11:41:10 am
Gente estou precisando calcular uma diferenca de horas para chegar em valor de horas extras

resumindo estou fazendo assim

sc_select(htotal, "SELECT TIMEDIFF(Terminohex,Iniciohex) FROM hextras");
{tothe} = $htotal->fields[0];
$htotal->MoveNext();
$htotal->Close();

mas nao consigo receber o valor da hora certinho, alguem pode me ajudar?
Título: Re: Duvidas para calculo de hora
Enviado por: Haroldo em Julho 07, 2009, 02:06:31 pm
Terminohex e Iniciohex são que tipo de campos?
Título: Re: Duvidas para calculo de hora
Enviado por: alesalves em Julho 07, 2009, 02:10:13 pm
todos sao do tipo time
Título: Re: Duvidas para calculo de hora
Enviado por: alesalves em Julho 08, 2009, 02:52:43 pm
eu modifiquei os 3 campos ( ) para o tipo datetime, e como teste inseri o codigo abaixo em Eventos-> On load... o codigo funciona, mas ele calcula a diferenca das horas apos o clique no botao insert, deixando o calculo para o proximo clique...

/* Macro sc_lookup */

sc_select(horas, "
SELECT TIMEDIFF(Terminohex,Iniciohex) FROM hextras
");

/* Macro sc_lookup */
if (FALSE === {horas}) {
   sc_erro_mensagem("Ocorreu um erro no acesso ao banco de dados.<BR>");
}
elseif (count({horas}) == 0) { /* Macro sc_lookup */
   sc_erro_mensagem("Nenhum valor foi retornado pelo banco.<BR>");
}
else {
   while (!$horas->EOF) {
   /* Utilize a linha abaixo como exemplo
      para atribuir os valores do banco a seus campos. */

      {tothe} = $horas->fields[0];


      $horas->MoveNext();
   }
   $horas->Close();
}


Eu sei que o local correto nao é no onlload, mas o único lugar em que eu consegui fazer o codigo rodar foi alí... ja pesquisei nas bases de exemplo e nao encontrei nada.

Eu preciso que antes de gravar na tabela, o mysql (pode ser o php tb) extraia a diferença de horas (final - inicial) e grave pra mim num campo...
Título: Re: Duvidas para calculo de hora
Enviado por: Eduardo Alves em Fevereiro 14, 2011, 01:42:47 pm
eu faço de uma outra maneira para calculo de diferença de horas:

Select SUBTIME(`os`.`hora_final_atendimento`,`os`.`hora_final_atendimento`) AS total_horas from os

Título: Re:Duvidas para calculo de hora
Enviado por: thiagopov em Abril 04, 2017, 10:24:51 pm
SELECT TIMEDIFF(DATA_SAIDA,DATA_CHEGADA)
FROM BANCO.TABELA;