不是专门针对代码,但我需要有人指出我正确的方向。
我正在寻找一种方法来增加MySQL值而不立即刷新页面。我意识到这可能很难理解,所以我会解释:
我的索引页面有一系列链接,每个链接都显示自己的灯箱。我想跟踪每个链接被点击的次数,以便确定用户最喜欢的内容。因为我使用的是灯箱,因此在点击链接时没有刷新页面,我无法使用谷歌分析或PHP的基本技能。我不想在点击时刷新。
我是否应该跟踪页面上隐藏字段中的每次单击,然后在单击物理链接时递增db条目?有更简单或更好的方法吗?
答案 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表中的计数。我希望你能把这部分搞清楚。
此代码尚未经过测试。请告诉我它的票价。