Teobald Skrevet 5. desember 2007 Del Skrevet 5. desember 2007 Jeg skal summere flere felter i formatet TIME (hh:mm:ss). For å summerer tall tidligere har jeg gjort noe slik: $sumKostnad += $row['kostnad']; Eks: $sql = "SELECT Id, kostnad, tid FROM Tabell ORDER BY kostnad"; // (Id = INT, kostnad = INT, tid = TIME) $result = mysql_query($sql, $link); if (!$result) { die('Det oppstod en feil: ' . mysql_error()); } else { while ($row = mysql_fetch_assoc($result)) { $sumKostnad += $row['kostnad']; $sumTid += $row['tid']; echo $sumKostnad; // Denne summerer kostnader echo $sumTid; // Denne skriver ut 0? } Regner med at TIME må splittes opp i sekunder, så regnes sammen for så å samles igjen i et TIME format, men jeg kan ikke finne ut hvordan jeg skal gjøre dette... Noen som kan hjelpe meg meg dette? Lenke til kommentar
NorskFirefox Skrevet 5. desember 2007 Del Skrevet 5. desember 2007 Enkel utesta kode som kan funke (mest sannsynlig ikke opptimalt, men du kan gå ut i fra koden) <?php function MkeSec($time) { $t = explode(':', $time); return ($t[0]*3600)+($t[1]*60)+$t[2]; } $str = '10:20:32'; echo 'Før: '. $str .'<br>Etter'. MkeSec($str); ?> Lenke til kommentar
Zandar Skrevet 5. desember 2007 Del Skrevet 5. desember 2007 En mulighet er å konvertere TIME til sekunder med funksjonen TIME_TO_SEC(). SELECT Id, kostnad, TIME_TO_SEC(tid) AS tid FROM tabell GROUP BY kostnad Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå