Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Brojanje poseta svake stranice (Bilo: Jednostavna statistika)

[es] :: PHP :: Brojanje poseta svake stranice (Bilo: Jednostavna statistika)

[ Pregleda: 6725 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kusur
Grafički dizajner
Beograd

Član broj: 2485
Poruke: 208
*.60.EUnet.yu



Profil

icon Brojanje poseta svake stranice (Bilo: Jednostavna statistika)15.02.2004. u 14:40 - pre 245 meseci
Pozdrav svima

Pokušavam da napravim jednostavnu statistiku posete
određenim stranama (knjigama) na sajtu.

MySql / PHP

Baza:

Code:
CREATE TABLE statistika (
  knjiga_id int(11) NOT NULL default '0',
  datum varchar(20) NOT NULL default '',
  broj_pregleda int(20) NOT NULL default '0',
  UNIQUE KEY knjiga_id (knjiga_id)
) ENGINE=MyISAM;



Uradio sam to sa "update" na strani za podatke o knjizi:

Code:
<?php
$knjigaID= $HTTP_GET_VARS['Knjiga_ID'];
$datum = date("F Y");
$broj = $row_stat['broj_pregleda']+1;
mysql_select_db($neka_baza, $neki_fajl);
$sql = "UPDATE statistika SET broj_pregleda='$broj',
datum='$datum' WHERE knjiga_id='$knjigaID'";
mysql_query($SQL);
?>


U tabeli mora da postoji zapis o toj knjizi, koji ja dodam ručno.

Probao sam i samo sa "insert" pa upisujem svaku posetu na toj strani u bazu,
a posle brojim sa "count" i izvlačim iz baze. Ovaj način mi se čini "nezgodan" - ako ima
np. 1000-2000 poseta mesečno biće 1000-2000 "rekorda" u bazi itd.

Pitanje

Kako da prvo proverim da li "knjigaID" postoji u tabeli statistika:

a) ne postoji - INSERT u tabelu statistika
b) postoji - UPDATE polje broj_poseta+1

Unapred hvala

[Ovu poruku je menjao Goran Rakić dana 28.02.2004. u 23:58 GMT]
Kusur
 
Odgovor na temu

_owl_

Član broj: 318
Poruke: 1043
*.vdial.verat.net



+3 Profil

icon Re: Jednostavna statistika15.02.2004. u 16:24 - pre 245 meseci
A sta kazes da kada unosis knjigu u bazu dodas i upit koji unosi njen id u tabelu statistika ;). Ako ti ne treba broj prikaza na strani sa knjigom povecavanje broja pregleda mozes da radis i bez SELECT naredbe nad postojecim broje poseta preko
Code:

UPDATE statistika SET broj_pregleda=broj_pregleda+1, datum=NOW() WHERE knjiga_id=sta_vec

Owl
 
Odgovor na temu

arsa xx
Srdjan Arsic
Beograd

Član broj: 14203
Poruke: 452
*.air.tehnicom.net

ICQ: 247217004
Sajt: webdizajn.arsic.biz


Profil

icon Re: Jednostavna statistika15.02.2004. u 16:33 - pre 245 meseci
Evo koda koji sam napisao za jedan moj sajt od nule ;)

Formiraj tabelu 'statistika' sa poljima 'statistic_key' i 'statistic_value'
Upisi dva reda rucno:
1. satistic_key='users_unique_visits' , statistic_value=0
2. stistic_key='users_total_click', statistic_value=0

Evo koda:
Code:

/////////////////////////////////////////////////////
// >> Za statistiku 

$self = $_SERVER["PHP_SELF"]."?".$_SERVER["QUERY_STRING"];

$sql="SELECT * FROM statistics WHERE statistic_key='$self'";
$result=db_query($sql);
if(db_num_rows($result)>0)
{
    $sql="UPDATE statistics SET statistic_value=statistic_value+1 
                    WHERE statistic_key='$self'";
}
else
{
    $sql="INSERT INTO statistics (statistic_key,statistic_value) 
                    VALUES ('$self',1) ";
}
db_query($sql);

if(!isset($_COOKIE["user_code"]))
{
    $user_code=md5(uniqid($_SERVER["REMOTE_ADDR"]));
    setcookie( 'user_code',$user_code, time() + 365*60*60  );
    $sql="UPDATE statistics SET statistic_value=statistic_value+1 
                    WHERE statistic_key='users_unique_visits'";
    db_query($sql);
}
else
{
    $user_code=$_COOKIE[user_code];
}

isset($_COOKIE['user_code']) ? $user_code=$_COOKIE['user_code']) : $user_code=md5(uniqid($_SERVER["REMOTE_ADDR"]));
setcookie( 'user_code',$user_code, time() + 365*60*60  );
$sql="UPDATE statistics SET statistic_value=statistic_value+1 
                WHERE statistic_key='users_total_click'";
db_query($sql);

// << kraj  statistike


Ovaj kod vrsi statistiku strana i ako ti se lista po jedna knjiga po strani to je to ;)

+Unikatne posete + ukupan broj klikova ;)
Flash komponenta za atraktivan prikaz vesti na sajtu:
www.flash-news-ticker.com
 
Odgovor na temu

LaMpiR

Član broj: 9930
Poruke: 1343



+2 Profil

icon Re: Jednostavna statistika15.02.2004. u 18:26 - pre 245 meseci
Pa zasto ne koristis L10Apps counter ima sve moguce i to je uradjen u flashu i php-u


http://www.leveltendesign.com/L10Apps/HC/
 
Odgovor na temu

Ser_Boyler
Stojkovic Vladimir
CBT, System and Network Administrator
Beograd

Član broj: 14424
Poruke: 377
*.rtvpolitika.co.yu

Jabber: ser_boyler@elitesecurity.org
ICQ: 172456664
Sajt: www.google.com/webhp?comp..


Profil

icon Re: Jednostavna statistika18.02.2004. u 10:21 - pre 245 meseci
Citat:
LaMpiR:
Pa zasto ne koristis L10Apps counter ima sve moguce i to je uradjen u flashu i php-u

Verovatno zato sto nesto slicno pokusava da napravi sam.
Slika govori više od 128K reči.
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.bankmeridian.com

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Jednostavna statistika18.02.2004. u 10:51 - pre 245 meseci
Citat:
Kusur:
Kako da prvo proverim da li "knjigaID" postoji u tabeli statistika:

a) ne postoji - INSERT u tabelu statistika
b) postoji - UPDATE polje broj_poseta+1

mysql_query ("UPDATE ...");
if (mysql_affected_rows () < 1) mysql_query ("INSERT ...");
...
Ovako kako si postavio tabelu za statistiku i način upotrebe govore da polje "datum" nosi informaciju o vremenu polednjeg pristupa stranici knjige. Da li je to slučajno ili si baš tako želeo?


Mada, kad bolje pogledam - ova statistika se odnosi isključivo na knjige, a knjige su ustvari takođe definisane u bazi podataka u nekoj tabeli. Kako se broj poseta vezuje po svakoj knjizi ponaosob, rekao bih da se tabela "knjiga" može proširiti poljima "broj_poseta" i "datum_poslednje_posete" i da se onda radi samo update ovih polja (jer je insert urađen pri definiciji knjige).
 
Odgovor na temu

LaMpiR

Član broj: 9930
Poruke: 1343



+2 Profil

icon Re: Jednostavna statistika19.02.2004. u 12:16 - pre 245 meseci
samo sam htio pomoci...
 
Odgovor na temu

[es] :: PHP :: Brojanje poseta svake stranice (Bilo: Jednostavna statistika)

[ Pregleda: 6725 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.