Oprettet ons. d. 10. marts 2010 kl. 12:27:45

madsens90
madsens90 (6.895 point. Point ude: 350)
www.shax.dk

Statistik script over antal besøg pr måned! (Hits og visits)

Hej Eksperter!

Da det er mig der laver PHP delen på min kammerats hjemmeside, og han bad mig lave en statistik, er jeg gået i gang med det.

Jeg har lavet et script der når du loader en side tjekker om din ip står i databasen for den gældende dag. Hvis ikke laver den en ny række med:
id (autoincreament),
ip (brugerens IP),
tid (hvornår brugeren så siden, gemt i linux timestamp med PHP funktionen time() ),
hits (hvor mange gange brugeren har set siden den gældne dag (standardværdi er 1)),

Det vil så sige at næste gang han ser siden den dag laver den bare hits = hits + 1, så man kan se hvor mange hits der har været på en dag ved at tage summen af alle hits, og man kan se hvor mange visits der har været ved at tælle rækkerne i stedet.

Nu er jeg kommer dertil hvor jeg skal lave statistikken i en tabel.

den ser indtil videre sådan ud:

http://musiccharten.dk/ (...)

Den skal så skrive for hver måned hvor mange gennemsnitlige hits og visits, og total hits og visits.

Men hvordan laver jeg en select der kigger på rækken TID, og laver en sum af alle hits for kun den måned, og en mysql_num_row der tæller hvor mange rækker der i tabellen med den gældne måned i tid?

Håber i forstår!!
Tak på forhånd!

Mvh. Christian Madsen

Skrevet ons. d. 10. marts 2010 kl. 12:35:50| #1

Af ren og skær nysgerrighed, men hvorfor ikke bruge noget som allerede er lavet? Google Analytics f.eks.? Som kan give en meget  detaljeret statistik?

Skrevet ons. d. 10. marts 2010 kl. 13:14:27| #2

madsens90
madsens90 (6.895 point)
www.shax.dk
Går ind for at lave tingene selv. ;)
Vil gerne være sikker på at det virker efter hensigten, og det er der kun en måde at sikre sig på, og det er at vide hvordan det er lavet. :D

Har hjemmesiden hos one.com og der er også allerede en statistik.

Skrevet ons. d. 10. marts 2010 kl. 14:02:57| #3

Jeg bliver så til gengæld nød til at være lidt flabet i denne situation og har derfor et spørgsmål til dig, når nu du mener at du vil være sikker på at 'det virker efter hensigten'; hvordan skal du være i stand til at give et mere retvisende billede af den nødvendige statistik (her tænker jeg hits vs. clicks samt besøgsloyalitet), når du nu får behov for at stille (relativt) simple spørgsmål herinde?

Statistik er jo reelt kun brugbar i tilfælde af man kan give et retvisende billede af de data der bliver opsamlet.
Forestil dig x antal mennesker der sidder bag den samme IP med samme browser (f.eks. en skole eller en virksomhed). Hvad er x?`Er det 1 person? er det 5? Er det 15? Og hvad med i morgen - er det de(n) samme person(er) der besøger siden?
Eller hvad med dem, som stadig har dynamiske IP'er - hvor mange besøgende kan en person så give dig indtrykket af de er?

Nå, sidespring...

Hvis du gemmer et tidspunkt i databasen som UNIX timestamp, så må du (for at få en måneds mellemrum) først afgøre hvilken måned der er tale, finde UNIX timestampet (ved hjælp af mktime() ) på den første og den sidste dag i måneden.

Derefter skal du lave en sql forespørgsel der kan hente alle data hvor TID er mellem den første og sidste dag.
<?php
  $maaned = $_GET["maaned"];
  $year = $_GET["year"];
 
  $dayOne = mktime(0, 0, 0, $maaned, 1, $year);
  $dayLast = mktime(23, 59, 59, $maaned, date("t", $dayOne), $year);

  $sql = "SELECT * FROM table WHERE tid > ".$dayOne." && tid < ".$dayLast;



?>


Utestet, men det giver dig forhåbentligt en idé om hvor du kan starte...

Skrevet ons. d. 10. marts 2010 kl. 14:12:53| #4

madsens90
madsens90 (6.895 point)
www.shax.dk
Tester din kode om lidt, og tak for koden. :)

Men kan lige svarer på dine spørgsmål.

Jeg finder slet ikke det her svært på den måde at jeg ikke ved hvordan man gør, eller ikke kender itl php funktionerne.

Det jeg ikke kan er lige i dette tilfælde at sætte dem sammen på en simpel måde.. Har du aldrig noget hvor du godt VED hvordan man gør, og det virkelig irriterer dig, og du til sidst er nød til at spørge en anden. Og så tænker du "Nåår jah for fanden! Hvorfor gjorde jeg dog ikke bare sådan!". Sådan har jeg det lige nu. ;)


Det jeg mener med at det virker efter hensigten er at den opfanger alle besøg. Og jeg vil kun have at en computer skal tælle som et forsøg, ligemeget hvor mange der sidder bag skærmen.

Problemet er at jeg ikke har haft held med at de andre statistiker man kan bruge rent faktisk virker, så har droppet chart.dk fordi at 80% af visits ikke blev registreret, og google analytics af samme årsag.
Plus at jeg det jeg selv har lavet opdaterer live, og er tilgængeligt for alle brugere. :)

Skrevet ons. d. 10. marts 2010 kl. 14:27:48| #5

"Det jeg mener med at det virker efter hensigten er at den opfanger alle besøg. Og jeg vil kun have at en computer skal tælle som et forsøg, ligemeget hvor mange der sidder bag skærmen."
Hvis der sidder fem personer bag samme ip, kan det jo godt være fem forskellige computere? Et bibliotek? Well, din beslutning...

"Problemet er at jeg ikke har haft held med at de andre statistiker man kan bruge rent faktisk virker, så har droppet chart.dk fordi at 80% af visits ikke blev registreret, og google analytics af samme årsag."
Det er jo også kun useriøse 'udviklere' der anvender chart.dk, nope.dk eller lignende... Men hvis du har dokumentation for at 80% af dine besøgende ikke bliver registreret hos Google Analytics (eller bare alt over 3%) vil jeg gerne se den.

"Plus at jeg det jeg selv har lavet opdaterer live, og er tilgængeligt for alle brugere."
Åhh, ja - 90'ernes famøse '312 mennesker har besøgt denne side' tællere...

Skrevet ons. d. 10. marts 2010 kl. 14:35:11| #6

madsens90
madsens90 (6.895 point)
www.shax.dk
Du virker negativ over at jeg kan lide at lave tingene selv, i stedet for at bruge andres værk. ;) Nu kan jeg også godt lide at programmere.

Ved godt at det sker hvis flere sidder bag samme IP, men hvorfor skulle det være anderledes for nogle andre statistikker?
Så skal man jo have mac adresser, og kan man jo ikke lege med.

Jeg anvendte 'chart.dk' førhen, da jeg ikke var klar over hvor skod det var. 'nope.dk' kender jeg ikke.
Problemet med googles ting og sager er ikke så meget hvor meget de opfanger, men mere opdaterings tiden. Vil have de nyeste tal næste gang man opdaterer siden.

Der skal ikke være en sidetæller.. Kun statistikker på en side for sig selv. Der bliver muligvis et link i bunden af siden til 'statistik', men ved ikke endnu.

Skrevet ons. d. 10. marts 2010 kl. 14:53:26| #7

Jeg er stor fortaler for at man kan finde ud af at lave tingene selv og at man giver sig selv mulighed for at udvikle sig, hvor man kan; man skal blot kende sine begrænsninger samt de områder man er stærkest på.

Generelt er statistik et uhyre kompliceret område; om det er webstatistik, salgsstatistik eller hvad du nu kan finde på.

Uanset om du kan lide at programmere eller ej, så må man erkende sit tekniske niveau; og selvom jeg har været i branchen længe, er statistik stadig noget som indeholder meget mere end man blot lige forestiller sig.

Det er uhyre simpelt at adskille den ene computer fra den anden, bag et netværk; problemet ligger bare i at samle det rigtigt op og behandle det rigtigt, hvilket så også går hen og berører emnet besøgsloyalitet; besøgsloyalitet er stort set en videnskab...

Det korte af det lange er at hvis du mener den statistik du selv kommer til at lave passer fint til behovet, så fortsæt endelig. Men retvisende statistik bliver det ikke...

Skrevet ons. d. 10. marts 2010 kl. 15:22:28| #8

madsens90
madsens90 (6.895 point)
www.shax.dk
Det kommer an på hvad den skal vise om den er retvisende. ;)

Kom med et svar! Det fungerer perfekt, efter at have roddet lidt med det. :D

Jeg elsker at programmere, og jeg elsker at blive bedre til det! Så jo flere udfordringer destro bedre. :)

Skrevet ons. d. 10. marts 2010 kl. 15:26:35| #9


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

php problem få en kode fra en anden side

Oprettet den 11. februar 2012 kl. 23.53
jesperkaae95 giver 30 point for svar | Giv et svar »

Udtræk af enkelte felter fra bestemte kolonner i mysql

Oprettet den 11. februar 2012 kl. 19.27
hrole giver 30 point for svar | Giv et svar »

Procentregning

Oprettet den 11. februar 2012 kl. 11.26
sevinding giver 60 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger