Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Zliczanie dziennych odwiedzin
Forum PHP.pl > Forum > Przedszkole
neoski
Witam. Mam rekordy w bazie które przedstawiają odwiedziny strony. Chciałbym móc wyświetlić listę dzienną odwiedzin tzn. żeby wyświetlało mi z każdego dnia osobno ile było odwiedzin. Czy ktoś ma jakiś pomysł jak mógłbym to zrobić?
mike
A może podasz konstrukcję tabeli czy mamy zgadywać?
neoski
Wydawało mi się że nie będzie potrzebna i podczas pisania postu ją usunąłem smile.gif. Proszę bardzo.

  1. CREATE TABLE `visits` (
  2. `id` int(5) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `date` varchar(20) collate latin2_general_ci NOT NULL DEFAULT '',
  4. `ip` varchar(20) collate latin2_general_ci NOT NULL DEFAULT '',
  5. `data` text collate latin2_general_ci NOT NULL,
  6. PRIMARY KEY (`id`),
  7. UNIQUE KEY `id` (`id`),
  8. KEY `id_2` (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_general_ci AUTO_INCREMENT=2 ;
  10.  
  11. --
  12. -- Zrzut danych tabeli `visits`
  13. --
  14.  
  15. INSERT
  16. INTO `visits`
  17. VALUES (1, '1139181984', '83.100.100.100', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.02');
pawel_k
jesli chcesz wyciagnac ile ludzikow odwiedzilo strone w poniedzialek, wtorek itd to dla postgresa:
  1. SELECT count( id ) AS num, extract(dow
  2. FROM date)
  3. AS day
  4. FROM stats
  5. GROUP BY day ORDER BY day ASC
lub dla mysql:
  1. SELECT count( id ) AS num, dayofweek(date) AS day
  2. FROM stats
  3. GROUP BY day ORDER BY day ASC
jedna róznica, pole date typu date...
pablos7
A co jeśli mam 2 tabele

odwiedziny
----------
id_odwiedziny
id_uzytkownik
id_strony
data_odwiedzin

oraz

uzytkownicy
------------
id_uzytkownik
login
haslo
aktywny


i chcę policzyć ile wszystkich odwiedzin w ciągu każdego miesiąca ma na swoim koncie jakiś określony użytkownik (chodzi tutaj o statystyki).
Jeśli ktoś wie to prosiłbym bardzo o radę.
JaRoPHP
Cytat(pablos7 @ 29.12.2007, 17:12:53 ) *
A co jeśli mam 2 tabele
Użyj złączenia.

Przykładowo (nie jest to rozwiązanie twojego problemu, tylko nakierowanie):
  1. SELECT o.data_odwiedzin, u.login FROM uzytkownicy AS u
  2. LEFT JOIN odwiedziny AS o ON u.id_uzytkownik = o.id_uzytkownik
  3. WHERE u.login = 'JakisLogin'
Dodatkowo musisz określić miesiąc. Sposób zależy odod tego jaki masz typ danych w kolumnie data_odwiedzin).

Aby policzyć liczbę, przydatna będzie instrukcja SQL: COUNT.
pablos7
Dzięki za pomoc. Na razie wymyśliłem coś takiego:
  1. SELECT o.data_odwiedzin, count(o.id_odwiedziny) AS ilosc, month(data_odwiedzin) AS miesiac, u.login FROM uzytkownicy AS u
  2. LEFT JOIN odwiedziny AS o ON u.id_uzytkownik = o.id_uzytkownik
  3. WHERE u.login = 'JakisLogin'
  4. GROUP BY miesiac ORDER BY miesiac ASC


Czy tak może być?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.