Joh*_*ohn 4 php mysql database counter
我想使用PHP为我的网站添加一个独特的点击计数器.此计数器将为数据库中的每个页面保存访问者的IP.我有这样的数据库结构:
表hits有两列:
ip
page_url
Run Code Online (Sandbox Code Playgroud)
我的问题是:在PHP文件中获取访问者的IP后,哪个更好(性能)?
如果您使用的是MySQL,则可能需要滥用PRIMARY KEY和ON DUPLICATE KEY UPDATE的组合:
CREATE TABLE hits (
ip VARCHAR(15),
page_url VARCHAR(200),
PRIMARY KEY (ip,page_url),
hitcount INT NOT NULL DEFAULT 0
)
Run Code Online (Sandbox Code Playgroud)
现在在页面上点击你做
INSERT INTO hits(ip, page_url,hitcount) VALUES('$ip','$url',1)
ON DUPLICATE KEY UPDATE hitcount=hitcount+1
Run Code Online (Sandbox Code Playgroud)
为什么这个?
您可能还想记录上次访问的时间戳:
ALTER TABLE hits ADD COLUMN lastseen TIMESTAMP();
Run Code Online (Sandbox Code Playgroud)