Duvidas para calculo de hora

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?

Terminohex e Iniciohex são que tipo de campos?

todos sao do tipo time

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.
”);
}
elseif (count({horas}) == 0) { /
Macro sc_lookup /
sc_erro_mensagem(“Nenhum valor foi retornado pelo banco.
”);
}
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…

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

SELECT TIMEDIFF(DATA_SAIDA,DATA_CHEGADA)
FROM BANCO.TABELA;