[RESOLVIDO] - Subtração de data/hora

Boa noite.

Banco mysql
Tenho 3 campos no meu formulário

Campo1 DATETIME
Campo2 DATETIME
Campo3 TIME

No campo3 gostaria que fosse exibido o calculo (campo2 - campo1), assim que esses dois campos fossem preenchidos. É possível?

http://www.scriptcase.com.br/forum/index.php/topic,13927.msg72803.html#msg72803

http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_time_diff

http://www.scriptcase.com.br/docs/pt_br/v81/aplicacoes-de-formularios/formularios/eventos/eventos-ajax

Prezado Haroldo,

Até a parte do manual havia conseguido chegar. Estou com dificuldades em colocar os exemplos vagos contido no manual em pratica.

Mesmo assim obrigado pela prestatividade.

criar eventos ajax onchange para datatime 1 e 2

nesses eventos…

{time}=implode(’:’,sc_time_dif({datatime1},‘yyyy-mm-dd hh:ii:ss’,{datatime1},‘yyyy-mm-dd hh:ii:ss’)); // como mostra o manual

//comando implode transforma em uma string um array usando um determinado delimitador

Pesquisei no google e achei esta solução.

TIMEDIFF() retorna o tempo entre a hora inicial expr e a hora final expr2. expr e expr2 são expressões de hora ou data e hora, mas ambas devem ser do mesmo tipo.

mysql> SELECT DATEDIFF(‘1997-12-31 23:59:59’,‘1997-12-30’);

-> 1

mysql> SELECT DATEDIFF(‘1997-11-31 23:59:59’,‘1997-12-31’);

-> -30

mysql> SELECT TIMEDIFF(‘2000:01:01 00:00:00’, ‘2000:01:01 00:00:00.000001’);

-> ‘-00:00:00.000001’

mysql> SELECT TIMEDIFF(‘1997-12-31 23:59:59.000001’,‘1997-12-30 01:01:01.000002’);

-> ‘46:58:57.999999’

veja mais em

http://dev.mysql.com/doc/refman/4.1/pt/dat…-functions.html

Pelo que entendi o problema não é só o cálculo (calculo esse que o sc pode fazer com a macro já apresentada).

Ele não sabe como apresentar o cálculo após o preenchimento dos campos (também já demonstrado como fazer)

E em nenhum momento se fala em banco de dados, ou seja sair do php e ir para o banco de dados para executar uma query apenas para calcular a diferença entre datas e horas, acho muito desperdício de processamento e tempo de código.

Haroldo,

o campo {datatime1} seria a variável definida no campo do formulário, o nome do campo no banco, ou o nome do campo no formulário? Já tentei os 3 e não consegui, imagino ainda estar fazendo alguma coisa errada.

É nessa parte que tenho considerado o manual falho, diz qual informação deve ter na macro, porém não encontro menção sobre onde buscar a nomeclatura dos campos.

Poderiam me ajudar nessa parte?

http://www.scriptcase.com.br/docs/pt_br/v81/manual_mp.htm#apendice/variaveis-no-scriptcase

Obrigado, funcionou!