Het totaal per maand laten weergeven
Ik zit met een klein probleempje. Ik ben namelijk een urenregistratie systeem aan het maken en ik wil van elke medewerker het totaal zien maar dan ook per maand. Maar omdat ik in mijn db de datums opslaat als yyyy-mm-dd weet ik niet zo goed hoe ik nou in mijn query moet vermelden.
Ik heb nu dit:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$totaal = mysql_query("SELECT SUM(ro_tijd) + sum(ro_overtijd) as totaal
FROM urenregistratie
WHERE pers_personeelsnr = " . $_SESSION['p_nr'] . "
AND MONTH(ro_datum) = MONTH(DATE_SUB(NOW(), INTERVAL 1 MONTH))
ORDER BY pers_personeelsnr");
?>
$totaal = mysql_query("SELECT SUM(ro_tijd) + sum(ro_overtijd) as totaal
FROM urenregistratie
WHERE pers_personeelsnr = " . $_SESSION['p_nr'] . "
AND MONTH(ro_datum) = MONTH(DATE_SUB(NOW(), INTERVAL 1 MONTH))
ORDER BY pers_personeelsnr");
?>
Maar nu laat die alleen de gegevens zien van in dit geval december... Maar ik wil het ook zien van de overige maanden en jaren.
Ik hoop dat jullie mij kunnen helpen.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$totaal = mysql_query("SELECT SUM(ro_tijd) + sum(ro_overtijd) as totaal
FROM urenregistratie
WHERE pers_personeelsnr = " . $_SESSION['p_nr'] . "
AND MONTH(ro_datum) = ".$_GET['maand']."
ORDER BY pers_personeelsnr");
?>
$totaal = mysql_query("SELECT SUM(ro_tijd) + sum(ro_overtijd) as totaal
FROM urenregistratie
WHERE pers_personeelsnr = " . $_SESSION['p_nr'] . "
AND MONTH(ro_datum) = ".$_GET['maand']."
ORDER BY pers_personeelsnr");
?>
let wel dat maand van 01 tot 12 moet zijn
Gewijzigd op 02/01/2006 15:58:00 door Hipska BE
FROM urenregistratie
WHERE pers_personeelsnr = " . $_SESSION['p_nr'] . "
GROUP BY MONTH(ro_datum)
ORDER BY ro_datum, pers_personeelsnr
probeer hem zo eens Marcel?
Dan zie ik alleen de gegevens die ik in de eerste maand hebt toegevoegd in dit geval was dat bij de 11 maand.
Wat is ro_datum dan voor een veldtype in jouw MySQL?
Het veldtype is nu datetime. Dan laat die de eerste maand zien.
Maar als ik het veldtype date van maakt dan is het de 2de maand die laat zien.
Gewijzigd op 03/01/2006 10:39:00 door Marcel
Of moet ik hier een soort van array maken dat 1 = januari etc?
Wat is de structuur van je tabel en hoe ziet je query er nu uit?
$totaal = "SELECT SUM(ro_tijd) + SUM(ro_overtijd) AS totaal
FROM urenregistratie
WHERE pers_personeelsnr = " . $_SESSION['p_nr'] . "
GROUP BY MONTH(ro_datum)
ORDER BY ro_datum, pers_personeelsnr";
En dit is mijn db tabel:
ro_roosternr int(8) PK Auto Increment
ro_datum date 0000-00-00
ro_omschrijving varchar(40)
ro_tijd bigint(20)
ro_overtijd bigint(20)
pers_personeelsnr int(8) FK
Heb je hier wat aan?
Gewijzigd op 03/01/2006 12:59:00 door Marcel