Jag har en tabell i en mySQL-databas som innehåller poäng som användarna registrerar (från stegräknare/motion). Den är i grova drag strukturerad som
username (varchar) - aktivitet (varchar) - datum (date, ex 2005-080-7) - poäng (int)
Nu vill jag visa grafisk statistik över registrerade poäng (med hjälp av jpGraph).
Användaren ska kunna välja mellan att vista statistik för senaste veckan (grupperat per dygn), senaste 3 månaderna (grupperat per 7-dagarsperiod) samt senaste året (grupperat per månad).
Min SQL-fråga och PHP-koden som läser in data i arrayer ser hittills ut som följande:
$statsql = mysql_query("SELECT datum, SUM(poang) FROM aktiviteter WHERE username = '$username' GROUP BY datum");
while($statrow = mysql_fetch_array($statsql)) {
$xaxel[] = $statrow[0];
$yaxel[] = $statrow[1];
}
(SUM använder jag då man kan registrera flera aktiviteter på en dag)
Problem1:
Vissa dagar/veckor/månader finns det inte några poäng registrerade för. Då kommer det inte att bli någon "stapel" (arraypost) för den dagen/veckan/månaden. Jag vill att det ska skapas nollposter för dessa dagar! För en vecka kan jag ju göra 7 SQL-frågor, en för varje dag, men det känns lite fult...
Problem2:
Har inte luskat ut hur jag från ett "date"-fält får ut data grupperad efter månad eller år (i en så enkel sql-fråga som möjligt).
Tack på förhand!