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
google php online time
der er en ide her http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=21, men hvad hvis brugeren brugere flere computere, så iden med at gemme ip syntes jeg ikke helt om

hvis brugeren logger ind i systemet ville jeg nok lave en anden strudtur, og ligge en record hver gang brugeren logger på
Fold kodeboks ind/udSQL kode 

og med fast interval (AJAX) updaterer logoff, så man tager højde for at brugeren ikke altid bruger logoff knappen, men bare smider session'en
feltet timespent vil jeg kun udregne når jeg skal bruge dem, dvs test om der står noget i feltet hvis ikke udregn det (sparer tid næste gang det skal bruges), og så sammenlæg disse tider,




date() funktionen kræver et unix timestamp:

Fold kodeboks ind/udPHP kode 


Giver følgende output:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 14.08.2012 14:20 af Bruger #2695
Hej Jacob,
jeg var lige i legestuen!!, prøv at kigge på denne code jeg tror det kommer tæt på dit ønske

Fold kodeboks ind/udSQL kode 


Fold kodeboks ind/udPHP kode 


coden kan optimeres, der mangler validering af input, og man bør anvende AJAX istedet for at genlæse hele siden, men jeg ville ligge coden tæt op af den code du arbejder ud fra.


hvis du ikke gider kopiere coden ligger den her http://test.olsensweb.dk/jacob/jacob.zip




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

Enten det eller også skal du konvertere. MySQL har en funktion, som hedder UNIX_TIMESTAMP(). Den tager ca. hvadsomhelst, som ligner en dato, som parameter og returnerer et timestamp. Altså noget i denne stil:

Fold kodeboks ind/udSQL kode 





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 brugerenDer er vel nogle ting, der skal gøres anderledes. Bruger-id skal være af sig selv efter, hvilken bruger-session, der køres.

selføgelig, det vil være naturligt at for en bruger ville det være sat via en session, men det kunne være lederen også ville kunne se på de enkelte ansattes performence.
hvem er målgruppen for den app ??
menige ansatte må kun kunne egen statestik.
en leder vil se den enkelte's statestik samt gruppen/afdelingens statestik (måske en selectbox)

Ugerne skal komme af sig selv og skal ikke indtastes af brugeren

eller man kunne lave 2 select boxe, med en fra_uge og en til_uge, (der er så lige noget validering, så man ikke kan vælge en til_uge mindre en fra_uge, og en til_uge ikke er længere frem end dags dato)

men det er da helt sikkert man ikke selv skal indtaste userid og uge nr, det var bare så du kunne prøve med medarbejder 1 og 2 og en vilkårlig uge (kun data for uge 27,28,30) og den er sat til at hente data for 4 uger frem



Hej,

Jeg har skam kigget på dem. Det er nu mere hvordan jeg skal lave historikken - hvordan kan jeg gemme hver aktivitet og så ugen logges eller ligesom sættes ind i databasen?



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

Fold kodeboks ind/udPHP kode 


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.



Indlæg senest redigeret d. 13.08.2012 09:18 af Bruger #16319
google php online time
der er en ide her http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=21, men hvad hvis brugeren brugere flere computere, så iden med at gemme ip syntes jeg ikke helt om

hvis brugeren logger ind i systemet ville jeg nok lave en anden strudtur, og ligge en record hver gang brugeren logger på
Fold kodeboks ind/udSQL kode 

og med fast interval (AJAX) updaterer logoff, så man tager højde for at brugeren ikke altid bruger logoff knappen, men bare smider session'en
feltet timespent vil jeg kun udregne når jeg skal bruge dem, dvs test om der står noget i feltet hvis ikke udregn det (sparer tid næste gang det skal bruges), og så sammenlæg disse tider,


Hvem har snakket om at gemme brugeres IP?
Er du havnet i den forkerte tråd? :)



Indlæg senest redigeret d. 13.08.2012 10:09 af Bruger #16319
@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).



<< < 12 > >>
t