Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dentro de uma tabela mysql que tem um campo tempo, e os tempos são salvos minutos exemplo: linha1 00:05 minutos - Linha2 00:15 minutos e por ae vai. eu queria somar esses tempos e dar um echo de quantas horas tem dentro deste campo.
o campo esta string, o banco é mysql e é salvo nele da seguinte forma 00:00 ou exemplo 00:01 minutos
/applications/core/interface/imageproxy/imageproxy.php?img=https://www.gitbook.com/cover/book/tra38/essential-copying-and-pasting-from-stack-overflow.jpg?build=1481432910027&key=531a5a99012475c22d35e3161578ecb2e2d0173d76000b8b13d3665dfe81bc60" />
https://stackoverflow.com/questions/22681725/how-to-sum-n-number-of-time-hhmm-format
Pra evitar o warning q o brother(Pathik Vejani) falou só adicionar...
function AddPlayTime($times) {
$minutes = 0;>
6 minutos atrás, gabrieldarezzo disse:
/applications/core/interface/imageproxy/imageproxy.php?img=https://www.gitbook.com/cover/book/tra38/essential-copying-and-pasting-from-stack-overflow.jpg?build=1481432910027&key=531a5a99012475c22d35e3161578ecb2e2d0173d76000b8b13d3665dfe81bc60" />
https://stackoverflow.com/questions/22681725/how-to-sum-n-number-of-time-hhmm-format
Pra evitar o warning q o brother(Pathik Vejani) falou só adicionar...
function AddPlayTime($times) {
$minutes = 0;
Mas como trazer de um while neste casoPensa comigo.
Um retorno do banco de dados é um conjunto de 'linhas' correto?
Então a pergunta deveria seria como converter um array mult/soc em um array simples
Em outras palavras seu objetivo é fazer isso:
$times = array(
'00:15'
,'00:45'
,'00:60'
,'00:02'
,'00:02'
,'00:02'
,'00:02'
);
Então você deve pesquisar...
Ou copiar isso:
<?php
$tempos = array_fetch_all();
$tempoGasto = array();
foreach($tempos as $tempo) {
$tempoGasto[] = $tempo['NOME_TABELA'];
}>
Agora, gabrieldarezzo disse:
Pensa comigo.
Um retorno do banco de dados é um conjunto de 'linhas' correto?
Então a pergunta deveria seria como converter um array mult/soc em um array simples
Em outras palavras seu objetivo é fazer isso:
$times = array(
'00:15'
,'00:45'
,'00:60'
,'00:02'
,'00:02'
,'00:02'
,'00:02'
);
Então você deve pesquisar...
Ou copiar isso:
<?php
$tempos = array_fetch_all();
$tempoGasto = array();
foreach($tempos as $tempo) {
$tempoGasto[] = $tempo['NOME_TABELA'];
}
Opa, blz, vou testar oque me passou e pesquisar tambem retorno breve o seu comentario, valeuQual abstração de Banco se ta usando ai?
PDO?
mysqli?
mysql?
>
Agora, gabrieldarezzo disse:
Qual abstração de Banco se ta usando ai?
PDO?
mysqli?
mysql?
PDO
Fica +/- assim :
$horarios = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($horarios);
/*
$horarios = array(
array(
'id' => '1'
,'hora_gasta' => '01:00'
)
,array(
'id' => '2'
,'hora_gasta' => '00:20'
)
,array(
'id' => '3'
,'hora_gasta' => '00:10'
)
);
*/
$totalTempo = array();
foreach($horarios as $horario) {
$totalTempo[] = $horario['hora_gasta'];
}
print_r($totalTempo); // array('01:00', '00:20', '00:10')
>
2 minutos atrás, gabrieldarezzo disse:
Fica +/- assim :
$horarios = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($horarios);
/*
$horarios = array(
array(
'id' => '1'
,'hora_gasta' => '01:00'
)
,array(
'id' => '2'
,'hora_gasta' => '00:20'
)
,array(
'id' => '3'
,'hora_gasta' => '00:10'
)
);
*/
$totalTempo = array();
foreach($horarios as $horario) {
$totalTempo[] = $horario['hora_gasta'];
}
print_r($totalTempo); // array('01:00', '00:20', '00:10')
Testando e passo o result daqui a pouco
>
24 minutos atrás, kradepau disse:
Testando e passo o result daqui a pouco
olhe o print ae pra você ver http://prntscr.com/fjecvz
Não meu querido.
O Array deveria ser composto por strings simples (tira esse br)
O Objetivo é você fazer um array simples assim:
$times = array(
'00:15'
,'00:45'
,'00:60'
,'00:02'
,'00:02'
,'00:02'
,'00:02'
);
print_r($totalTempo)
Pois o link que eu dei você deveria olhar a resposta e não a pergunta kkkk
Se liga a resposta é essa:
function somarTempo($times) {
$minutes = 0;
// 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);
}
Você passa um array e ele retorna uma string com a soma de todos.>
2 minutos atrás, gabrieldarezzo disse:
Não meu querido.
O Array deveria ser composto por strings simples (tira esse br)
O Objetivo é você fazer um array simples assim:
$times = array(
'00:15'
,'00:45'
,'00:60'
,'00:02'
,'00:02'
,'00:02'
,'00:02'
);
print_r($totalTempo)
Pois o link que eu dei você deveria olhar a resposta e não a pergunta kkkk
Se liga a resposta é essa:
function somarTempo($times) {
$minutes = 0;
// 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);
}
Você passa um array e ele retorna uma string com a soma de todos.
Ok, verificando>
10 minutos atrás, kradepau disse:
Ok, verificando
Certissimo, funcionando que uma blz, Muito obrigado
>
3 minutos atrás, kradepau disse:
Certissimo, funcionando que uma blz, Muito obrigado
Só para entender oque seria
'%02d:%02d'
Qual a estrutura desses campos?
Dependendo da estrutura dos seus campos isso pode ser uma tarefa extremamente fácil ou extremamente chata!