Visa ett inlägg
Oläst 2006-05-24, 12:17 #4
PeterM PeterM är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 56
PeterM PeterM är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 56
Vill du enbart spara unika adresser så kan du skapa ett UNIQUE-index för fältet, sen behöver du bara köra INSERT INTO visitors (ip) VALUES ('$ip'); och behöver inte tänka på någonting mer. Finns adressen redan i tabellen så händer inget. Finns den inte så läggs den till.

Liten överkurs, räkna unika besökare per dag och använd heltalsrepresentationen av ip-adressen för att tabellens row_format ska bli "fixed".
Kod:
CREATE TABLE `visitors` (        
 `d` date NOT NULL,          
 `ip` int(10) unsigned NOT NULL,    
 `n` int(10) unsigned NOT NULL,    
 UNIQUE KEY `d-ip` (`d`,`ip`)     
)

$q = mysql_query("INSERT INTO visitors (d, ip, n) VALUES (CURDATE(), INET_ATON($ip), 1)");
if(mysql_affected_rows() != 1) {
	mysql_query("UPDATE visitors SET n = n + 1 WHERE d = CURDATE() AND ip = INET_ATON($ip)");
}
PeterM är inte uppkopplad   Svara med citatSvara med citat