我创建此代码以在数据库中存储页面视图,但我现在有更新行的问题...
我需要检查session和url是否与我需要更新行视图相同..这里是代码
$ip = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
$browser = mysql_real_escape_string($_SERVER['HTTP_USER_AGENT']);
$referer = mysql_real_escape_string($_SERVER['HTTP_REFERER']);
$url = mysql_real_escape_string($_SERVER['REQUEST_URI']);
$session = session_id();
mysql_query(" INSERT INTO page_view(ip,url,referer,session,view)
VALUES (
'".$ip."',
'".$url."',
'".$referer."',
'".$session."',
'1')
");
答案 0 :(得分:1)
使url,session
对唯一,并使用ON DUPLICATE KEY
子句
mysql_query("INSERT INTO page_view(ip,url,referer,session,view)
VALUES (
'".$ip."',
'".$url."',
'".$referer."',
'".$session."',
'1')
ON DUPLICATE KEY UPDATE view = view +1
");
答案 1 :(得分:0)
我会查询该会话的最后一个插入,然后检查网址是否更改。
If (changed) update;
Else insert;
答案 2 :(得分:0)
我会在列ip,url和session上创建一个唯一索引,然后在重复键上执行插入...:
INSERT INTO page_view(ip,url,referer,session,view)
VALUES ('".$ip."','".$url."','".referer."','".$session."','1')
ON DUPLICATE KEY UPDATE view = view + '1'");