Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Unikatowe odwiedziny
Wilu88
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

Ostrzeżenie: (0%)
-----


Witam mam taki problem.

Otóż chciałbym pobrać z tabeli "wejescia" liczbę ogólną kliknięć w dany banner, oraz unikalną liczbę wejść. Postanowiłem że za uniklane wejscie uznawał będe tylko jedno wejscie z danego Ip w jednym dniu.

Do tej pory mam zrobione pobieranie ogólnej liczby kliknięć:

  1. SELECT sponsor_id,sponsor_nazwa,sponsor_baner,sponsor_rozpoczecie,sponsor_zakonczenie,sponsor_aktywny,sponsor_link,COUNT(wejscie_id) FROM sponsorzy LEFT OUTER JOIN wejscia ON wejscie_sponsor=sponsor_id WHERE sponsor_aktywny=1 AND sponsor_rozpoczecie<=CURRENT_DATE AND (sponsor_zakonczenie>CURRENT_DATE OR sponsor_zakonczenie="000-00-00") GROUP BY sponsor_id


czy macie jakiś pomysł jak dorzucić do tego zapytania jeszcze pobranie unikalnych wejść?

Kolumna z numerami IP w tabeli "wejscia" nazywa się: " wejscie_ip"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Sprawdź tylko nazwy tabel, powinno działać. Jaki błąd wywala? To pierwsze zapytanie to było:
  1. SELECT DISTINCT count(wejscie_ip) FROM cmslm_wejscia w WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) <= w.wejscie_data GROUP BY w.wejscie_ip

Pozmieniaj nazwy tabel na te, na których sprawdzasz i powinno być poprawne.

Ten post edytował darko 25.03.2011, 22:21:07
Go to the top of the page
+Quote Post
Wilu88
post
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 6
Dołączył: 7.03.2010

Ostrzeżenie: (0%)
-----


Cytat(darko @ 25.03.2011, 22:20:11 ) *
Sprawdź tylko nazwy tabel, powinno działać. Jaki błąd wywala? To pierwsze zapytanie to było:
  1. SELECT DISTINCT count(wejscie_ip) FROM cmslm_wejscia w WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) <= w.wejscie_data GROUP BY w.wejscie_ip

Pozmieniaj nazwy tabel na te, na których sprawdzasz i powinno być poprawne.


Ten kod kompletnie źle działał bo wyświetlał łączną liczbę wyświetleń, przerobiłem go na taki:

  1. SELECT DISTINCT count(wejscie_ip),wejscie_sponsor FROM cmslm_wejscia w WHERE DATE_SUB(CURDATE(),INTERVAL 1 DAY) <= w.wejscie_data AND w.wejscie_ip != "000.000.000.000" GROUP BY w.wejscie_sponsor


No i teraz w tablicy lądują już oddzielone odwiedzenia poszczególnych sponsorów ale nadal liczy każde kliknięcie

  1. Array ( [0] => Array ( [count(wejscie_ip)] => 1 [wejscie_sponsor] => 1 ) [1] => Array ( [count(wejscie_ip)] => 3 [wejscie_sponsor] => 2 ) )
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 04:51