Jump to content
php.lv forumi

Unikālu datu uzskaitīšana


Pentiums

Recommended Posts

Jautājums par vienreizēju datu uzskaitīšanu...

 

Tātad ir counter skripta tabula ip adresēm..

 

kā lai uzskaita unikālos apmeklējumus? piemēram šeit unikālie apmeklējumi būtu 3

 

23.153.213.232

23.153.213.232

198.34.231.111

23.153.213.232

127.0.0.1

23.153.213.232

198.34.231.111

23.153.213.232

Link to comment
Share on other sites

man liekas ka efektiivaak tavu tabulu buutu mazliet paarveidot ....

 

tabula:

id - ip - datums - skaits

 

un fcija

function statistika($ip)
{
$dat = date("Y.m.d");
$all = mysql_query("SELECT id FROM tabula WHERE ip = '$ip' AND datums = '$dat'");
if (mysql_num_rows($all) == 0) mysql_query("INSERT INTO tabula (ip,datums,skaits) VALUES ('$ip','$dat',1)");
else
{
 $one = mysql_fetch_row($all);
 mysql_query("UPDATE tabula SET skaits = skaits + 1 WHERE id = ".$one[0]);
}
mysql_free_result($all);
}

 

aptuveni shitaa, un buus tev arii kaut kaads arhiivs :)

datumu vari glabaat arii kaa int, tipa mktime($dat) ..

taa ir gaumes lieta ...

 

un tad jau unikaalos var dabuut: SELECT skaits FROM tabula where ip=$ip and datums = 'šodien'

mazaak tabulaa vietu aiznjem un aatraak straadaas. + indeksi pareizajaas vietaas ;)

Edited by Klez
Link to comment
Share on other sites

Un protams, ip lauks kā type int (tiesa gan, nedarbosies ip6, bet, šķiet, ka tas šeit nav vajadzīgs) un insert into bla bla (ip) values (inet_ntoa('127.0.0.1')) - mazāk vietas aizņems (būs ātrāks). Indekss uz ip un visi dati atmiņā (protams, ja RAMs pietiekami), bet četri baiti uz vienu ip ir daudz labāk kā varcharam (min 7 max 15)

Link to comment
Share on other sites

Un protams, ip lauks kā type int (tiesa gan, nedarbosies ip6, bet, šķiet, ka tas šeit nav vajadzīgs)

lai buutu ar IP6 var izmantot BigInt ....

Bet IP tik tiesam jaglabaa kaa INT ..

---

Conterim var veidot 2 DB laukus ..

 

ip (INT) Primary Key UNIQUE | skaits (int) ...

(saja gadijumaa var iztikt bez id , jo pati IP jau kalpos kaa primaaraa atsleega .....)

 

peec tam parbaudiit vai saada IP jau nav ja ir tad skaits=skaits+1 .....

dabuusi gan Unikalos, gan cik no katras IP ir bijusi apmeklejumi....

Link to comment
Share on other sites

×
×
  • Create New...