Avatar billede mac10 Nybegynder
26. februar 2010 - 09:53 Der er 8 kommentarer og
1 løsning

Sorter sidevisninger/unikke besøg idag?

Hej eksperter,

Jeg har en tabel hvor jeg registrere alle handlinger mine besøgende foretager sig med følgende rækker.

- ID (unik ID)
- ip (IP de kommer fra)
- page (hvilken side på sitet de har besøgt)
- dateadded (tidspunkt siden blev besøg)

Jeg vil gerne lave det således så jeg bare personligt har en lille oversigt over hvor mange eksponeringer/sidevisninger og unikke besøg der har været bare idag (fra 24:00 til 24:00). Skal ikke være noget fancy, men bare for egen fornøjelses skyld. Jeg ved der skal GROUP på IP for unikke besøg, men hvordan det skal bygges op - ja, der er jeg blank...
Avatar billede repox Seniormester
26. februar 2010 - 11:04 #1
Uhm... det er jo ikke bare en simpel opgave? Du vil egentlig gerne have noget simpel statistik baseret på de data du registrerer, i et givent døgn.
Der er jo flere aspekter i det;
Antallet af eksponeringer er relativt simpelt at overkomme.
Antallet af unikke besøg vil sandsynligvis blive noget misvisende, da du primært adskiller dine besøgende kun på en IP, men det er jo bare en detalje.
Der skal også lavet noget så du kan angive hvilket døgn du gerne vil se statistikken i. Selvom det måske virker noget enkelt bare at tage det sidst passerede døgn, så ved vi jo alle at det er rart at have noget at sammenligne med eller hvis man fik sprunget et døgn over...

Det nemmeste ville være hvis du selv begyndte at bygge noget og så spurgte om hjælp når ud stødte på konkrete problemstillinger i stedet for at være så overordnet som her, hvor du får det til at virke som om du egentlig mest er interesseret i at få andre til at lave 'det hele' for dig...
Avatar billede mac10 Nybegynder
26. februar 2010 - 11:25 #2
Hej repox,

Det er en simpel opgave :)

Jeg har fået lavet dette nu:

SELECT visits.*
FROM visits WHERE date_add(date_added,interval 24 HOUR) > NOW()
GROUP BY ip

Nu viser den mine besøgende indenfor de sidste 24 timer, men jeg er interesseret i dem der er idag (siden kl. 00:00).

Så det skal jo være noget med WHERE dateadded = NOW()
Men date_added og NOW() indeholder også klokkeslæt, og det skal kun være dato, så det skal jo klippes på en måde? Det er faktisk det eneste jeg søger.

Som sagt er det kun til mig selv, og bare et hurtigt overblik så jeg ikke skal sidde og glo i min database hele tiden, men kan få det vist i mit CMS.
Avatar billede mac10 Nybegynder
26. februar 2010 - 11:36 #3
Og her er den fungerende:

SELECT visits.*
FROM visits WHERE DATE(date_added) = CURDATE()
GROUP BY ip

Så er mit spørgsmål, hvordan hiver jeg data ud fra igår? :)
Avatar billede repox Seniormester
26. februar 2010 - 11:39 #4
Måske noget ala
<?php
$sql = "SELECT visits.*
FROM visits WHERE dateadded > '".date("Y-m-d")." 00:00:00'
GROUP BY ip";
?>
Avatar billede mac10 Nybegynder
26. februar 2010 - 11:41 #5
Er denne her ikke lige så fin?:
WHERE DATE(dateadded) = DATE_ADD(CURDATE(), INTERVAL -1 DAY)
Avatar billede repox Seniormester
26. februar 2010 - 11:42 #6
Jo, det ville  absolut være lige så fint, hvis du insisterer på en ren MySQL løsning. Men hvis jeg gerne vil have mulighed for at vælge specifikke dage, ville jeg gøre noget ala:
<?php
$dato = "2010-02-25"; //dagen igår

SELECT visits.*
FROM visits WHERE DATE(date_added) = '".$dato."'
GROUP BY ip
?>
Avatar billede mac10 Nybegynder
26. februar 2010 - 11:47 #7
Ja, det er rigtig nok. Det kan jeg bruge til når jeg skal videreudvikle det til at kunne opstille det pr. dato i en kalender.

Men rigtig mange gange tak for hjælpen, så smæk lige et svar. Og "jeg samler ikke på point" gider jeg ikke høre på :)
Avatar billede repox Seniormester
26. februar 2010 - 11:50 #8
Jeg samler på accepterede svar, skidt med pointene ;)
Avatar billede mac10 Nybegynder
26. februar 2010 - 13:26 #9
Ja, men jeg får tit svaret "jeg samler ikke på point" og så kan jeg ikke give point, og gider jo ikke tage dem tilbage når jeg har fået den nødvendige hjælp for at komme videre.

Men rigtig god weekend til dig og tak for hjælpen :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Erhvervsakademi Aarhus

Undervisere til it-uddannelser

Unik System Design A/S

DevOps Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Bliv en del af vores nye mobiludviklingsteam i Cyberdivisionen i Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporter til lokal IT i Slagelse