2012-04-04 13 views
0

十分に単純です。私は結果をユーザーにページ分割して返す検索エンジンを作成しています。各結果はリストに表示され、ユーザーが特定の結果をクリックすると、それはアコーディオンスタイルを展開し、さらに詳細な情報を表示します。PHP/jQuery:ページ単位の結果による合計クリック数をカウントします

私は検索ランキングにいくつかの学習を実装したいので、ユーザーがクリックした結果とクリックされた順番を追跡するつもりです。

私はすでに1ページのクリックをトラッキングできます。ユーザーが結果をクリックするたびに、必要なすべての情報を含むデータベースに保存されます。

私の問題です:ユーザーが結果の次のページに行くと、私は現在のクリック数を失います。私はjQueryを使用してクリック数をカウントしています - ユーザが結果をクリックするたびにクリック数が増加し、結果、結果リストの実際のランク、現在のクリック数が1行としてデータベースに追加されます。

クリック数をどのように抑えることができますか?

はここでJS/clicklog.phpは、クエリがデータベースに送信されるところである私のクリック機能、です:セッションIDが$から設定されているページ、上の隠されたdiv要素から引き出されている

var order = 0; 
$(document).ready(function() { 
    alert(order); 
    $('.accordionButton').click(function(e) { 
     if($(this).next().is(':hidden') == true) { 
      $(this).addClass('on'); 
      $(this).next().slideDown('normal'); 
      $(this).next().slideDown(test_accordion); 

      order++; 
      var actualOrder = $(this).find("h3").eq(0).text(); 
      var major = $(this).find("h3").eq(2).text(); 
      var sessionID = $("#sessionID").text(); 

      $.post("js/clicklog.php", {sessionID:sessionID, major:major, actualOrder:actualOrder, order:order}); 
    } 

_セッションID']。私はおそらくクリック数に似た何かをすることができると思いますか?

私は理解していますWHYそれは動作しませんが、私はまだjQuery、PHP、AJAXの新機能なので、修正方法の解決策は考えられません。

私が投稿したい他のコードがある場合は、必要に応じてお知らせください。

答えて

1

あなたは

<?php 
session_start(); 

if(isset($_SESSION['views'])) 
{ 
$_SESSION['views']=$_SESSION['views']+1; 
} 
else 
{ 
$_SESSION['views']=1; 
echo "Views=". $_SESSION['views']; 
} 
?> 

あなたはおそらく、あなたはセッション変数を持っており、それをインクリメントして、セッションID

戻ってきているか、それを返しますclicklog.phpファイルに送ることができる変数PHPセッションにそれを置くことができコメント から

更新が何をする必要がある

var count = 2; 
    $.ajax({ 
    type: "GET", 
    url: "some.php", 
    data: ({'count' : count}), 
    success: function(msg){ 
    alert("Data Saved: " + msg); 
    } 
}); 

次に、あなたのjQueryでAJAXリクエストを送る経由で受信されますあなたは代わりにその方法を選択してから、変数に1を加えてそれを返す処理をしてください。 phpのエコーがmsgになることを何でも示唆します。

+0

results.phpとclicklog.phpとは別のPHPファイルですか? – Jon

+0

私は投稿したjQueryでどのように動作しますか? – Jon

+0

さて、sessionIDはclicklog.phpではなく、results.phpから来ています。私はあなたが言っているのと同じことをやってもいいですか?どのように私はそれを変更するだろうか? – Jon

関連する問題