Grafer i php og hvordan data skal opdeles

Tags:    php grafer mysqli phpmyadmin

<< < 12 > >>
Hej :)

Jeg vil gerne have grafer på mine side, hvor brugeren kan se udviklingen over hans køb og salg.

Jeg har fået mig en ide om hvordan jeg skal lave grafen i php.

Jeg vil gerne have at brugeren kan se sin udvikling pr. uge, så brugerens aktivitet skal vel gemmes i en slags historik, og som så vises grafisk i grafen.

Så det skal jo næsten være en slags kalender eller brugerens aktivitet skal hvert fald knyttes til en uge. Hvis jeg nu skulle logge hver enkelt aktivitet i databasen - kunne jeg vel bare logge i hvilken uge aktiviteten er foregået i. Men så vidt jeg ved kan jeg kun bruge date, datetime, timestamp, time og year i phpmyadmin - og det kan jeg vel ikke bruge til så meget, hvis jeg gerne vil logge efter uge..

Hvordan kan dette ellers gøres?

På forhånd tak for hjælpen.



17 svar postet i denne tråd vises herunder
6 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
@Rasmus Knudsen
Hvem har snakket om at gemme brugeres IP?

nej da, det var en ide til inspiration, du er nød til at have brugerens logon/logoff tider der kunne man måske tage noget derfra.
hvis du ser på min sql kan du se jeg vil gemme userid istedet (historik tabel).


Jeg forstår det bare som om der allerede er taget hensyn til et login-system. Så det han mangler er en måde at knytte en brugers køb/salg aktivitet til en slags ugekalender.



her er nogle lib du kan kigge på, og melde tilbage hvilken du vil anvende, og så er det bare at hente data ud af db
http://www.ebrueggeman.com/phpgraphlib
http://jpgraph.net/
http://teethgrinder.co.uk/open-flash-chart/
http://www.phpclasses.org/package/2735-PHP-Render-bar-and-line-charts-as-images.html (kræver medlemsskab, hvilke er gratis)

js baseret
http://www.rgraph.net/ (ville jeg anvende, da det er nemt at anvende ifm AJAX)
http://www.highcharts.com/download (kræver jquery)

ellers har du jo google chart https://developers.google.com/chart/?hl=da
eks på google chart A|B|C|D|E|F|G|H|2:||Agurk||&chxs=2,000000,10&chtt=Agurkeforskning&chts=000000,20&chg=0,25,5,5">http://chart.apis.google.com/chart?cht=bvg&chs=550x300&chd=t:35,47,22,43,48,36,47,41&chxr=1,0,5&chds=0,50&chco=00ddff&chbh=22,0,35&chxt=x,y,x&chxl=0:|A|B|C|D|E|F|G|H|2:||Agurk||&chxs=2,000000,10&chtt=Agurkeforskning&chts=000000,20&chg=0,25,5,5
taget fra http://www.eksperten.dk/spm/963092


Hej,

Jeg tror, at jeg bruger googles, da den ser ret godt ud..

https://google-developers.appspot.com/chart/interactive/docs/gallery/linechart

Fold kodeboks ind/udKode 



Så jeg skal have min data ind her:
Fold kodeboks ind/udKode 

Skal jeg så lave en løkke, hvor der udhentes for hver uge?


[qoute]Hvis du har et date objekt kan du sådan her trække ugenummer ud.

Fold kodeboks ind/udPHP kode

$date = mktime(0, 0, 0, 11, 30, 2006);
$week = (int)date('W', $date);



Så du kan egentlig bare gemme datoer i din database, og så bare trække uge numre ud af dine date-objekter når du skal vise historik. [/qoute]

Hvis jeg nu gemmer datoen i datetime? Eller hvad skal den så gemmes i? :)



Hvis jeg nu gemmer datoen i datetime? Eller hvad skal den så gemmes i?


Du kan vidst både bruge Date og Datetime.
date('W', $date); burde fungere med begge typer : )



Indlæg senest redigeret d. 13.08.2012 11:40 af Bruger #16319
Jeg har brugt 'flot' til graftegning: http://code.google.com/p/flot/
Så skal der heller ikke tegnes på serversiden og sendes genereret grafik ud til brugeren.



Hvis jeg nu gemmer datoen i datetime? Eller hvad skal den så gemmes i?


Du kan vidst både bruge Date og Datetime.
date('W', $date); burde fungere med begge typer : )


Hej :)

Jeg har prøvet med:
Fold kodeboks ind/udKode 


hvilket giver 1, som ikke er rigtigt?



Super :)

Den vil jeg prøve at arbejde videre på.

Der er vel nogle ting, der skal gøres anderledes. Bruger-id skal være af sig selv efter, hvilken bruger-session, der køres. Ugerne skal komme af sig selv og skal ikke indtastes af brugeren :)

@Robert Larsen

Så det vil sige jeg skal bruge timestamp istedet for datetime?



Tak for hjælpen :)

Jeg har siddet og leget lidt med det og fået det hele til at virke.



<< < 12 > >>
t