增加MySQL值而不立即刷新

时间:2014-05-07 05:42:54

标签: javascript php html mysql

不是专门针对代码,但我需要有人指出我正确的方向。

我正在寻找一种方法来增加MySQL值而不立即刷新页面。我意识到这可能很难理解,所以我会解释:

我的索引页面有一系列链接,每个链接都显示自己的灯箱。我想跟踪每个链接被点击的次数,以便确定用户最喜欢的内容。因为我使用的是灯箱,因此在点击链接时没有刷新页面,我无法使用谷歌分析或PHP的基本技能。我不想在点击时刷新。

我是否应该跟踪页面上隐藏字段中的每次单击,然后在单击物理链接时递增db条目?有更简单或更好的方法吗?

3 个答案:

答案 0 :(得分:1)

向PHP后端页面发出AJAX请求,该页面在每次单击时为您修改数据库。这样,只要发生点击,您的数据库就会更新。

您没有指定是否使用框架,因此有关更多信息,请查看this SO answer以了解vanilla JS和jQuery中的AJAX请求的实现。

答案 1 :(得分:0)

如果您保持更新的隐藏状态并希望点击链接,那么当您的网页关闭时,您将如何跟踪值(不点击任何链接)?

实现解决方案的一种方法是向单独的脚本发出异步请求,并传递您想要增加的链接ID。

一些常见的javascript和一个单独的php(或任何你想要的编码)脚本应该做的工作

答案 2 :(得分: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表中的计数。我希望你能把这部分搞清楚。

此代码尚未经过测试。请告诉我它的票价。