Witam,
Wydaje mi się kolega, że źle trochę kombinujesz.
Po pierwsze - operacje na datach zawrzyj w zapytaniu, tak będzie lepiej, baza danych jest sprawniejsza w tego typu operacjach.
Po drugie - jeśli chcesz pobrać ilość np. w tym tygodniu to musisz zawężać przedział od dołu i od góry a nie tylko z jednej strony.
Na razie może Ci działa ale jak będzie więcej danych to zauważysz błędy.
Na szybko:
Ten tydzień:
SELECT COUNT(*) AS `ilosc` FROM`sprawdziany` WHERE YEARWEEK(`czas`) = YEARWEEK(CURRENT_DATE);
Zeszły tydzień:
SELECT COUNT(*) AS `ilosc` FROM`sprawdziany` WHERE YEARWEEK(`czas`) = YEARWEEK(CURRENT_DATE - INTERVAL 7 DAY);
Zeszły miesiąc:
SELECT COUNT(*) AS `ilosc` FROM `sprawdziany` WHERE SUBSTRING(`czas` FROM 1 FOR 7) = SUBSTRING(CURRENT_DATE - INTERVAL 1 MONTH FROM 1 FOR 7);
To takie zapytania na szybko / przykładowo. Napisz dokładniej co potrzebujesz

I uwaga na przyszłość - na bazę danych najlepiej ile tylko się da, ona ma wbudowane mechanizmy cache'owania itp. Dzięki temu można bardzo przyśpieszyć aplikację jeśli tylko się mądrze z bazy danych korzysta.
Pozdrawiam,
Łukasz
-- edit --
Zapytania mogą nie dawać wyników idealnych a to dlatego, że baza danych może mieć źle locale skonfigurowane.