0

いくつかの列を持つ単純なテーブルがあります。データベースのビューカウントを更新していますが、問題は20秒ごとにいくつかのajax呼び出しを行っていることです。ページビューをカウントしたいのですが、AJAX呼び出しもビューとしてカウントされています。

私のコードはとてもシンプルです。

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

これは仕事をしますが、AJAXのために、データベースのビュー数を増やし続けます。AJAX呼び出しではなく、実際のビューのみをカウントできるように、誰かが私を助けてくれますか?

4

2 に答える 2

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  ");
}
于 2012-05-03T06:00:46.070 に答える
0

あなたはこれを試すことができます:

<body onload="your function goes here">
于 2012-05-03T06:02:12.023 に答える