Vis kun et resultat pr. IP

Tags:    php mysql

Et php spørgsmål.. ;D
Jeg har lavet en tæller på mit admin site, som viser hvor mange besøgende der har været med firefox, crome, ie og andre.

Koden virker rigtig godt. Dog kan jeg ikke finde udad hvordan man benytter ipén til at fjerne flere af den samme bruger. dvs. så en person ikke kan påvirke resultatet med mere end 1.
Ip adressen bliver gemt på serveren, jeg skal bare inde udad hvordan jeg bruger den i php.

På forhånd tak.


mysql.php
Fold kodeboks ind/udPHP kode 


browser.php
Fold kodeboks ind/udPHP kode 






Indlæg senest redigeret d. 30.01.2012 01:10 af Bruger #16983
10 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Nu spiller det 100% . ;)
Tak for hjælpen Gustav, det er fedt du har brugt tid på at skrive en god forklaring som kunne bruges..





Jeg er ikke sikker på hvad du mener...

Men du skal bruge en GROUP BY sql condition.

For eksempel, for at lave dit eksempel:
Fold kodeboks ind/udSQL kode 


Den kan du så selv lege lidt med :-)



Hej Gustav.
tak for dit svar, jeg har opdateret mit spørgsmål så det er mere forståeligt.



Så skal du bruge sql keywordet DISTINCT. Se eksempel nedenfor.

Fold kodeboks ind/udSQL kode 


Faktisk kan du gøre det endnu kortere - men eksemplet ovenfor er noget mere lige til at forstå :-)

Fold kodeboks ind/udSQL kode 




Den kommer med denne fejl når jeg fortager en af dine forslag:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /***/***/admin/analyse/browser.php on line 31




mysql_fetch_assoc og andre funktioner der bruger resultater fra queries fejler når de ikke får et sql resultat som input. mysql_query returnerer et sql_input - men ikke hvis der er syntax fejl i din query, så returnerer den en false boolean værdi, og får dermed mysql_fetch_assoc til at fejle.

Det jeg prøver at sige er, at din fejlkode sådan set ikke er den fejl der er interessant at se på.

Har du husket at rette navnene til sådan at de passer med dine tabeller?

Hvilken af de to eksempler har du kørt?

Har du prøvet at køre den i dit MySQL interface og se om den giver resultat der?

Prøv evt at poste din SQL query, så er det også nemmere at hjælpe dig.



Indlæg senest redigeret d. 30.01.2012 03:47 af Bruger #17015
Okay, min mysql query ligger under browser.php som er vedlagt i spørgsmålet. :) jeg har prøvet at rette navnene, men jeg har set mig helt blind i koden. Hehe.. Jeg har prøvet begge to og den sidste giver ikke nogle fejl, dog heller ikke noget resultat som kan bruges



Fold kodeboks ind/udPHP kode 


Det skulle kunne gøre det. :-) Jeg antager at din ip række hedder ip. Ret det hvis det ikke er korrekt.



Indlæg senest redigeret d. 30.01.2012 04:26 af Bruger #17015
Det er mere hensigtsmæssigt at bruge session ID til at lave statistik, eller, hvis samme IP kun skal tælle én gang overall, så er det fint nok at bruge IPen, men ofte tæller man unikke besøgende gennem sessions.

At gemme både IP og session ID, er måske heller ikke så dumt, så kan du lave begge.

/J



Jeg er glad for at du kan bruge det til noget :-)



t