Jump to content


joeythai

Member Since 23/04/2015
Offline Last Active 29/04/2015, 09:53
-----

Topics I've Started

PHP não traz as horas somente a data

27/04/2015, 18:14

Boa tarde pessoal, sou novo em php e preciso de uma ajuda para resolver um problema aqui, seguinte, eu tenho que fazer um cálculo entre duas datas, exemplo:

 

- faço um acionamento de equipes e ao clicar no botão acionar, já aparece na minha coluna a data e hora atual, (isso tá funcionando) depois que termino o acionamento eu clico no botão parar que faz um update no campo referente da tabela, também pego a data e hora atual(também ta funcionando corretamente)o problema é que quando eu clico em parar ele deveria pegar a data e hora atual e subtrair a data e hora do inicio do acionamento, para isso faço um select no banco e armazeno o valor em uma variável

<code>

 

</code>


Boa tarde pessoal, sou novo em php e preciso de uma ajuda para resolver um problema aqui, seguinte, eu tenho que fazer um cálculo entre duas datas, exemplo:

 

- faço um acionamento de equipes e ao clicar no botão acionar, já aparece na minha coluna a data e hora atual, (isso tá funcionando) depois que termino o acionamento eu clico no botão parar que faz um update no campo referente da tabela, também pego a data e hora atual(também ta funcionando corretamente)o problema é que quando eu clico em parar ele deveria pegar a data e hora atual e subtrair a data e hora do inicio do acionamento, para isso faço um select no banco e armazeno o valor em uma variável

<code>

if(isset($_GET['parar'])){
  extract($_GET);
$cod_id = $_GET['cod_id'];
    $dataF = date('Y-m-d H:i:s');
    
$data1 = mysql_fetch_array(mysql_query("select inicio from tb_time_acionamento where cod_id = '$cod_id'"));
$data2 = date('Y-m-d H:i:s');
 
$unix_data1 = strtotime($data1);
$unix_data2 = strtotime($data2);
 
$nHoras   = ($unix_data2 - $unix_data1) / 3600;
$nMinutos = (($unix_data2 - $unix_data1) % 3600) / 60;
 
 
$total = sprintf('%y/%m/%d %02d:%02d', $nHoras, $nMinutos);
 
 
  
  $upDados = "UPDATE tb_time_acionamento SET fim = '$dataF', status = 'Encerrado', total='".formataDataMysql(strtotime(date('Y-m-d'),$total))."' WHERE cod_id = '$cod_id' AND fim is NULL";
 
  
mysql_query($upDados) or die(' Erro ao realizar o update '.mysql_errno());
 
$vai ='acionamento_teste.php';
header('Location: '.$vai);
  }  

</code>

 

para ficar mais claro, tenho três colunas (inicio,  fim, duração)

 

na coluna inicio guardo o tempo inicial ao clicar em acionar, quando clico em parar ele tem que salvar nas colunas fim a data atual e na duração deveria subtrair a data inicial da data final, ele está exibindo somente a data, as horas ele só marca 21:00:00, para todos os acionamentos que faço, alguém sabe o que pode estar acontecendo ?


IPB Skin By Virteq