Hey phpers,

Vaag onderwerp maar ik zal het uitleggen.
Ik had laatst al een topic over het optellen van 2 velden en daar weer een veld vanaf trekken.
Zo is t geworden:

TIMEDIFF(TIMEDIFF(tijd2, tijd1),pauze)


Nou wil ik graag alles van 1 week bij elkaar optellen. Nou heb ik SUM() geprobeert, maar krijg ik een wat vreemde uitkomst. (wat 49.5 (49:30) moet zijn wordt 48 bijv)

$sql = "SELECT SUM(TIMEDIFF(TIMEDIFF(tijd2, tijd1),pauze)) AS totaal FROM data WHERE WEEK(datum, 1) = '".$week."'";


Welke functie moet ik hiervoor gebruiken ipv SUM?

Alvast bedankt!
Ik vraag me af hoe SUM tijden optelt. Waarschijnlijk zit hem daar de fout. Misschien kan het zo:

SELECT
SEC_TO_TIME(SUM(TIME_TO_SEC(hier je TIMEDIFF's))) AS weektotaal
En anders zou je voor het optellen van tijden de functie ADDTIME() moeten gebruiken. Hoogstwaarschijnlijk is het niet mogelijk met SUM().
Bedankt voor je reactie Jan.

$sql = "SELECT (TIMEDIFF(TIMEDIFF(sum(tijd2), sum(tijd1)),sum(pauze))) AS totaal FROM data WHERE WEEK(datum, 1) = '".$week."'";
Geeft 51:10:00 wat eigenlijk 51:30 moet zijn. Raar dat ie 20 minuten mist.

Jou manier werkt inderdaad!
$sql = "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(TIMEDIFF(tijd2, tijd1),pauze)))) AS totaal FROM data WHERE WEEK(datum, 1) = '".$week."'";

Hartstikke bedankt Jan!

Reageren