更新页面视图

时间:2012-04-11 11:24:48

标签: php mysql

我创建此代码以在数据库中存储页面视图,但我现在有更新行的问题...

我需要检查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')
                    ");

3 个答案:

答案 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'");