ajax在更新视图计数时出现问题

时间:2012-05-03 05:51:50

标签: php mysql ajax

我有一个包含几列的简单表格。我正在更新数据库中的视图计数,但问题是我每隔20秒进行一次ajax调用。我只想计算页面视图,但AJAX调用也被视为视图。

我的代码很简单。

$res = sql_query("select * from tableA where user='XYZ'");
sql_query("update tableA set views=views+1  ");

这可以完成这项工作,但由于AJAX,它不断增加数据库中的视图数量。任何人都可以帮助我,以便我只能算实际观点,而不是AJAX调用吗?

2 个答案:

答案 0 :(得分:1)

更改更新页面匹配的逻辑。检查AJAX HTTP标头(请参阅此处:http://davidwalsh.name/detect-ajax),并仅相应地更新表。

if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
    sql_query("update tableA set views=views+1  ");
}

答案 1 :(得分:0)

你可以试试这个:

<body onload="your function goes here">