SELECT COUNT(user)
FROM tabel
WHERE DATE_FORMAT(datum, '%d%m%Y') = DATE_FORMAT(NOW(), '%d%m%Y')
Geeft het aantal gebruikers terug (alleen het aantal, niet de namen!) van diegene die vandaag online zijn (geweest).
Let op... om 11:00 is het waarschijnlijk MINDER dan om 23:00.
Want hij kijkt naar vandaag, niet naar de laatste 24 uur.
(Dat kan ook wel, maar dan krijg je waarschijlijk dat halverwege je dag het aantal bezoekers op die dag terug (lijkt te) lopen.
Omdat de bezoekers 's avonds meer komen dan 's nachts en 's ochtends.
SELECT DATE_FORMAT( tijd, '%Y%m%d' ) AS date, count( * ) as totaal, UNIX_TIMESTAMP(tijd) as timestamp
FROM log2
GROUP BY date
ORDER BY date DESC
LIMIT 0 , 30
Die data laad ik dan in een grafiekje, en dan heb je leuke statistieken :).
Ik snap niet goed waarom je een UNIX_TIMESTAMP van je DATETIME veld maakt. Je kunt net zo goed DATE_FORMAT(tijd, '%H:%i:%s') doen. De veldnaam tijd is ook verwarrend, want het is geen tijd, het is een DATETIME. Ik zou hem 'datumtijd' noemen, of zoiets.
Ik snap niet goed waarom je een UNIX_TIMESTAMP van je DATETIME veld maakt. Je kunt net zo goed DATE_FORMAT(tijd, '%H:%i:%s') doen. De veldnaam tijd is ook verwarrend, want het is geen tijd, het is een DATETIME. Ik zou hem 'datumtijd' noemen, of zoiets.
De naam 'tijd' is inderdaad slecht gekozen.
Ik wilde graag wat meer met de timestamp dan alleen de tijd er uit halen (een timestamp rekent gewoon makkelijker).