Somar Horas [RESOLVIDO]

1. Somar Horas [RESOLVIDO]

Roberto Costa
asparion

(usa CentOS)

Enviado em 18/01/2021 - 00:44h

Boa noite amigos do VOL



Me ajudem com uma questão, ja pesquisei bastante mais nao consegui fazer sozinho. como somar horas vindo do banCo, ex:

TABELA COLUNA
---------------------------------
tb_ponto horaextra


$consulta = mysqli_query($conexao, "SELECT * FROM tb_ponto");
while ($con = $consulta->fetch_assoc()){
$hora = $con['horaextra'];
echo $hora;
echo "<br>";
}


Resultado

02:00
01:45
02:15


A Soma é 05:00, que codigo uso para somar isso ao inves de me dar essa resposta

VLW




  


2. MELHOR RESPOSTA

Ruan
ru4n

(usa Debian)

Enviado em 18/01/2021 - 10:05h

Tenta esse:
<?php
include 'conexao.php';

function AddPlayTime($times) {
$minutes = 0; //declare minutes either it gives Notice: Undefined variable
// loop throught all the times
foreach ($times as $time) {
list($hour, $minute) = explode(':', $time);
$minutes += $hour * 60;
$minutes += $minute;
}

$hours = floor($minutes / 60);
$minutes -= $hours * 60;

// returns the time already formatted
return sprintf('%02d:%02d', $hours, $minutes);
}

$consulta = mysqli_query($conexao, "SELECT * FROM tb_ponto");
$hora = [];

while ($con = $consulta->fetch_assoc()){
$hora[] = $con['entrada1'];
}

if($hora) { echo AddPlayTime($hora); }
?>


3. Re: Somar Horas [RESOLVIDO]

4. Re: Somar Horas

Roberto Costa
asparion

(usa CentOS)

Enviado em 18/01/2021 - 09:15h

Bom dia ru4n esse formato eu ja tinha visto, legal soma certinho, mais não consigo trazer vindo da select sempre da erro

Segue:

<?php include 'conexao.php' ?>

<?php


$consulta = mysqli_query($conexao, "SELECT * FROM tb_ponto");
while ($con = $consulta->fetch_assoc()){
$hora = $con['entrada1'];
}


echo AddPlayTime($hora);

// FUNCTION - ADD HOURS and MINUTES
function AddPlayTime ($oldPlayTime, $PlayTimeToAdd) {
$old=explode(":",$oldPlayTime);
$play=explode(":",$PlayTimeToAdd);

$hours=$old[0]+$play[0];
$minutes=$old[1]+$play[1];

if($minutes > 59){
$minutes=$minutes-60;
$hours++;
}

if($minutes < 10){
$minutes = "0".$minutes;
}

if($minutes == 0){
$minutes = "00";
}

$sum=$hours.":".$minutes;
return $sum;
}





?>


5. Re: Somar Horas

Roberto Costa
asparion

(usa CentOS)

Enviado em 18/01/2021 - 13:20h

ru4n deu certo. fez a soma, porem se eu lançar uma novo registro mais em branco ai da erro
ex:

hora
-------------
12:00
14:00
<----- se um linha da coluna tiver vazio ele nao faz a soma e da erro
10:00
08:00



6. Re: Somar Horas

Ruan
ru4n

(usa Debian)

Enviado em 18/01/2021 - 13:47h

asparion escreveu:

ru4n deu certo. fez a soma, porem se eu lançar uma novo registro mais em branco ai da erro
ex:

hora
-------------
12:00
14:00
<----- se um linha da coluna tiver vazio ele nao faz a soma e da erro
10:00
08:00


Mude a linha da query para essa (assumindo que o nome da coluna da hora extra é "entrada1"):
$consulta = mysqli_query($conexao, "SELECT * FROM tb_ponto WHERE entrada1 <> '' "); 




7. Re: Somar Horas [RESOLVIDO]

Roberto Costa
asparion

(usa CentOS)

Enviado em 18/01/2021 - 14:20h

Matou a charada, funcionou, Obrigado \o/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts