2014-05-07 55 views
-1

沒有特別的代碼後,但我需要有人指出我在正確的方向。增加MySQL值而不立即刷新

我正在尋找一種方法來增加一個MySQL值,而無需立即刷新頁面。我意識到這可能很難理解,所以我將解釋:

我的索引頁面有一系列鏈接,每個鏈接都顯示自己的lightbox。我想跟蹤每個鏈接點擊的次數,以確定哪些用戶最喜歡。由於我使用的是Lightbox,因此在點擊鏈接時不會刷新頁面,因此我無法在PHP中使用Google Analytics(分析)或我的基本技能。我不想刷新點擊。

我應該跟蹤頁面上隱藏字段的每次點擊,然後在單擊物理鏈接時遞增數據庫條目嗎?有沒有更容易或更好的方法來做到這一點?

回答

1

向PHP後端頁面發出一個AJAX請求,該頁面會在每次點擊時爲您修改數據庫。這樣,一旦發生點擊,您的數據庫將被更新。

您沒有指定是否使用框架,因此有關更多信息,請參閱this SO answer以瞭解vanilla JS和jQuery中AJAX請求的實現。

0

如果你保持隱藏更新並期待鏈接被點擊,當頁面關閉時你將如何跟蹤值(沒有點擊任何鏈接)?

實現您的解決方案的一種方法是向單獨的腳本發出異步請求,並傳遞您希望增加的鏈接標識。

一些常見的JavaScript和一個單獨的PHP(或任何編碼你想要的)腳本應該做的工作

0

如果您的收藏夾連接到錨,因爲這樣的:

<a href="img/image-1.jpg" data-lightbox="image-1" data-title="My caption">Image #1</a> 

添加類的主播:

<a href="img/image-1.jpg" class="mylightboxes" data-lightbox="image-1" data-title="My caption">Image #1</a> 

然後,使用jQuery,一個附加的 'onClick' 事件,這些錨通過Ajax調用PHP腳本:

$('a.mylightboxes').on('click',function(){ 
    $.ajax({ 
     type:'POST', 
     data:'uniquereference='+$(this).attr('data-lightbox'), 
     url:'mysite/urltomyphpscript', 
     success:function(){ 
     } 
    }); 
    return true; 
}); 

在您的PHP腳本中,使用'uniquereference'作爲該項目的唯一ID,在mySQL表中增加它的計數。我希望你能弄清楚這一部分。

此代碼尚未經過測試。請讓我知道它的票價。