Goedemorgen,

Hieronder mijn script tot nu to dat ervoor zorgt dat er via timediff een totaal van uren wordt berekend. N ugaat het goed met 1 regel in de database, maar voeg ik een 2e regel toe, dan komt het resultaat voor beide regels achter elkaar te staan.

Ik krijg nu wel resultaat voor beide regels, maar ipv dat er per regel 1 totaal aantal uren staat, staat dit voor beide ingevuld.

Moet ik nog iets anders doen zodat ik per regel maar 1 berekening zie staan?


<?php @mysql_connect("localhost","root","blabla")or die(mysql_error());
@mysql_select_db("intranet2")or die(mysql_error());

$result= mysql_query('SELECT field_slagboom_in_datum_tijd_value, TIMEDIFF(field_slagboom_in_datum_tijd_value, field_slagboom_uit_datum_tijd_value) AS test
FROM field_data_field_slagboom_in_datum_tijd
INNER JOIN field_data_field_slagboom_uit_datum_tijd
ON field_data_field_slagboom_in_datum_tijd.entity_id=field_data_field_slagboom_uit_datum_tijd.entity_id
');
while($row = mysql_fetch_array($result)) {
echo $row['test'];
}

?>

Wat nu gebeurd is dat er per regel steeds de resultaten staan van de andere regels. Onder zie je hoe het nu is en wat het moet worden:

gebruiker 1 | -1 -6.15
gebruiker 2 | -1 -6.15

en moet eigenlijk zo zijn:

gebruiker 1 | -1
gebruiker 2 | -6.15
Hoe zo, gebruiker 1 en gebruiker 2?
Ik vind die niet terug in je query.

Ik vind trouwens de naamgeving van je tabellen en velden nogal vreemd.
Ik vind ze nogal verwarrend. Dat helpt niet echt ...
"field_data_field_" in een tabelnaam; waarom? Wat heeft dat voor betekenis?

field_data_field_slagboom_in_datum_tijd
Dus je hebt twee aparte tabellen: 1 voor "slagboom in" en 1 voor "slagboom uit".
Ten eerste zie ik al niet in waarom je dit in twee aparte tabellen zou doen.

Welke velden staan er in die tabel?
Welk data type heeft het datum/tijd-veld?

Ondertussen kan ik je ten zeerste aanraden om deze tutorial grondig te bekijken. Het geeft een antwoord op (zowat) alle vragen ivm. datum/tijd in mySQL
http://www.phphulp.nl/php/tutorial/overig/datum-en-tijdfuncties-in-mysql/519/
Ik sluit me helmaal aan bij Kris zijn reactie, en daarbij aanvullend: als je 2 kolommen selecteert krijg je ook 2 kolommen in je resultaat tenzij je een control functie in de select zet, bv:

SELECT
	IF(c1 = -1, c1, c2) AS waardediejewilthebben
FROM ....

Reageren