Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Tworzenie stastystyk
Forum PHP.pl > Forum > Przedszkole
Bojakki
Mam przykładowa tabele z danymi odwiedzin
Cytat
[dzien][miesiac][rok]
[1][4][2010]
[2][4][2010]
[2][4][2010]
[4][4][2010]
[5][4][2010]
[5][4][2010]


Jak widac
I teraz chce narysowac sobie wykresik obejmujący ostatnie 60 dni licząc od dzisiaj ($now=date("m-d-Y")winksmiley.jpg, czyli tzreba zliczyc te rekordy. Powinno wyjśc tak, że powstaje tablica z 60 wartosciami i dopiero 5 ostatnich ma jakies wartosci wieksze niz 0, czyli 56=1, 57=2, 58=0, 59=1 i 60=2, wczesniejsze maja 0 czyli dla nich slupek ma wysokosc 0 pixeli (podobnie jak dla 58 dnia.

Nie wiem jak sie za to zabrac, podejrzewam, ze latwe nie jest. Bardzo prosze o pomoc, nie szczedze przycisku "Pomógł":)
werian
Ta tabela w MySQL'u czy PHP?
d3f3nd3r
Jeżeli to mają być tylko odwiedziny tj. bez ip itp... to wystarczy tabela 2 kolumnowa (data i wejscia) jesli ma byc bardziej rozbudowane to jeszcze jedna kolumna (ip). Jeśli inne dane to odpowiednio wiecej kolumn.
W pierwszym przypadku sprawdzasz czy przy wejściu na strone jest w bazie wpis z aktualna data jeśli nie ma to dodaje date i zapisuje jedno wejście. Jeśli jest to wejścia plus jeden. W drugim przypadku sprawdzasz czy to IP było już na stronie. Jeśli nie było to dodaje wpis do bazy jeśli było to nic nie robi (można też posyłać coś do ciasteczek i strawdzac date). Co to wyświetlania wykresu to można np. w pętli wyświetlać jakiegoś piksela.jpg (słupek) lub poczytaj o GD2
blooregard
Niepotrzebnie rozbijasz datę odwiedzin na tyle pól.
Wystarczy jedno pole odpowiedniego typu (DATETIME, TIMESTAMP), a potem to już tylko zabawa z DATEDIFF / INTERVAL i wyciągasz sobie dane z dowolnych przedziałów czasowych.
Bojakki
Cytat(werian @ 5.04.2010, 22:28:08 ) *
Ta tabela w MySQL'u czy PHP?

W mysqlu

Cytat(d3f3nd3r @ 5.04.2010, 22:33:02 ) *
Jeżeli to mają być tylko odwiedziny tj. bez ip itp... to wystarczy tabela 2 kolumnowa (data i wejscia) jesli ma byc bardziej rozbudowane to jeszcze jedna kolumna (ip). Jeśli inne dane to odpowiednio wiecej kolumn.
W pierwszym przypadku sprawdzasz czy przy wejściu na strone jest w bazie wpis z aktualna data jeśli nie ma to dodaje date i zapisuje jedno wejście. Jeśli jest to wejścia plus jeden. W drugim przypadku sprawdzasz czy to IP było już na stronie. Jeśli nie było to dodaje wpis do bazy jeśli było to nic nie robi (można też posyłać coś do ciasteczek i strawdzac date). Co to wyświetlania wykresu to można np. w pętli wyświetlać jakiegoś piksela.jpg (słupek) lub poczytaj o GD2

Te dane sa juz obrobione. Tzn. to jest wizyta, a nie tzw. hitsy. Czyli kazda wizyta to rozny IP. Chodiz mi o samo zapytanie, ktore zwrociloby mi te 60 elementowa tablice, ktora moglbym wyswietlic za pomoca petli.

Cytat(blooregard @ 5.04.2010, 22:37:00 ) *
Niepotrzebnie rozbijasz datę odwiedzin na tyle pól.
Wystarczy jedno pole odpowiedniego typu (DATETIME, TIMESTAMP), a potem to już tylko zabawa z DATEDIFF / INTERVAL i wyciągasz sobie dane z dowolnych przedziałów czasowych.

Mam jeszcze te daty w postaci unixowej. Nie wiem czy to cos ultawia czy nie, ale mam w bazie zebrane te 2 formaty i na 1 z nich musze uzyskac tablice z odiwedzinami za ostatnie 60 dni. Potrafiłbym wyciagnac dane dla akzdego dnia osobnym zapytaniem, ale na pewno da sie to zrobic za pomoca 1 a nie 60. I takiej wlansie pomocy potrzebuje
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.