Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Liczenie dziennych wizyt
slawo
post 15.12.2010, 20:58:52
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 11.01.2010
Skąd: Nowa Dęba

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


Witam,

moja tabela składa się z pól: id, data, czas, ip

w pliku index.php jest zapytanie, które dodaje każde wejście na stronę, dodajac date, czas i ip wchodzacego
chce napisac 2 zapytania, ktore beda liczyly; pierwszy wszystkie wejscia w danym dniu, drugie; unikalne wejscia w jednym dniu (po adresie Ip)


  1. $stat_wszystkie = mysql_query("SELECT COUNT(*) as stat_w FROM wejscia WHERE data='$data'");
  2. $sw = mysql_fetch_array($stat_wszystkie, MYSQL_ASSOC);
  3.  
  4. $stat_unikalne = mysql_query("SELECT COUNT(*) as stat_u FROM wejscia WHERE data='$data'" AND [questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?] );
  5. $su = mysql_fetch_array($stat_unikalne, MYSQL_ASSOC);


pierwsze zapytanie liczy wszystkie wejscia w danym dniu. natomiat nie wiem co dopisac w drugim zapytaniu tak aby liczylo po adresach IP tzn jest 5 wejsc z jednego adresu a liczy tylko raz.


pomoze ktos?

Ten post edytował slawo 15.12.2010, 21:01:58


--------------------
zpodziemia.pl - największa baza dobrych nielegali w POLSCE!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
erix
post 15.12.2010, 21:04:09
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




DISTINCT albo GROUP BY.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
slawo
post 15.12.2010, 22:12:48
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 11.01.2010
Skąd: Nowa Dęba

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


czyli jak powinno wygladac 2 zapytanie bo cos mi nie chce dzialac :/


  1. $licz_adresy= mysql_query("SELECT DISTINCT ip FROM wejscia")
  2. or die('Błąd zapytania');
  3.  
  4. while($la = mysql_fetch_assoc($licz_adresy)) {
  5.  
  6. echo "".$la['ip']."";
  7.  
  8. $stat_unikalne = mysql_query("SELECT COUNT(*) as stat_u FROM wejscia WHERE ip='".$la['ip']."'");
  9. $su = mysql_fetch_array($stat_unikalne, MYSQL_ASSOC);
  10.  
  11. }



hmm dobrze kombinuje? cos nei dziaala

Ten post edytował slawo 15.12.2010, 22:15:31


--------------------
zpodziemia.pl - największa baza dobrych nielegali w POLSCE!
Go to the top of the page
+Quote Post
erix
post 15.12.2010, 22:47:52
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
hmm dobrze kombinuje? cos nei dziaala

"Bo tak".




--
ani Twoje zdanie nic konkretnego nie mówi, ani moje.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
slawo
post 15.12.2010, 23:16:34
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 11.01.2010
Skąd: Nowa Dęba

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


no przeciez napisalem kod powyzej. no niby pokazuje mi adresy bez powtarzania ale nie wiem jak je zliczyc;/

  1. $stat_unikalne = mysql_query("SELECT ip, COUNT(ip) AS 'stat_u' FROM wejscia GROUP BY ip");
  2. $su = mysql_fetch_array($stat_unikalne, MYSQL_ASSOC);



dalej nie dziala. co tu jest zle?


--------------------
zpodziemia.pl - największa baza dobrych nielegali w POLSCE!
Go to the top of the page
+Quote Post
erix
post 16.12.2010, 00:02:08
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale co oznacza dalej nie działa? Kod ja widzę, ale co robi nie tak...?

D'oh...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
slawo
post 16.12.2010, 10:52:41
Post #7





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 11.01.2010
Skąd: Nowa Dęba

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


aaa o to Ci chodzi sorry nie skumalem... ten kod pokazuje wynik 1. a takich adresow jest akurat 5, ktore sie powtarzaja.


--------------------
zpodziemia.pl - największa baza dobrych nielegali w POLSCE!
Go to the top of the page
+Quote Post
phpion
post 16.12.2010, 10:57:19
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Pewnie źle odbierasz dane po stronie PHP. Odpal sobie samo zapytanie:
  1. SELECT ip, COUNT(ip) AS stat_u FROM wejscia GROUP BY ip;

w konsoli albo spod phpMyAdmina i zobacz czy dostaniesz prawidłowy raport.

Ten post edytował phpion 16.12.2010, 10:57:54
Go to the top of the page
+Quote Post
slawo
post 16.12.2010, 11:42:19
Post #9





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 11.01.2010
Skąd: Nowa Dęba

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


wpisalem to w phpmyadmin i taki wynik:



http://wgrajfoto.pl/pokaz/img1210/ip968d.jpg

Ten post edytował slawo 16.12.2010, 11:42:49


--------------------
zpodziemia.pl - największa baza dobrych nielegali w POLSCE!
Go to the top of the page
+Quote Post
phpion
post 16.12.2010, 11:46:32
Post #10





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Bingo, czyli wyniki są poprawne. Teraz śmigasz do mysql_fetch_assoc, patrzysz na pierwszy przykład, interesuje Cię tylko zawartość między while... a zamykającym } i na tej podstawie wypisujesz sobie zwrócone dane na stronce. Proste? No pewox!
Go to the top of the page
+Quote Post
slawo
post 16.12.2010, 12:00:39
Post #11





Grupa: Zarejestrowani
Postów: 184
Pomógł: 0
Dołączył: 11.01.2010
Skąd: Nowa Dęba

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


ale ja nie chce zeby mi pokazalo tak:

adres ip - ile wejsc
inny adres ip -ile wejsc
jeszcze inny ip - ile wejsc..


a moim przypadku na strone weszlo 10 roznych adresow i chce napisac takie zapytanie aby wynik byl 10.


--------------------
zpodziemia.pl - największa baza dobrych nielegali w POLSCE!
Go to the top of the page
+Quote Post
phpion
post 16.12.2010, 12:32:39
Post #12





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. SELECT DISTINCT ip FROM wejscia;


// Edit:
Chyba znowu źle zrozumiałem :/
  1. SELECT COUNT(*) FROM wejscia GROUP BY ip;


Ten post edytował phpion 16.12.2010, 12:33:39
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 11:42