尝试制作一个非常简单的计数器,每当用户单击链接时,它会将 mysql 数据库表中的值更新为 1。
<a href='http://somesupersite.com' id='246' class='track'>My Link</a>
应该获取 id 并将其传递给 php 脚本的 javascript:
$(document).ready(function(){
$('a.track').click(function() {
$.post('http://mysupersite.com/sys/tracker.php', {id:this.id});
});
});
php 脚本 tracker.php 应该获取 post 变量并更新 mysql 数据库表列:
$id = $_POST['id'];
$con = mysqli_connect($mysqlHost, $mysqlUser, $mysqlPassword, $mysqlDatabase);
mysqli_query($con, "UPDATE table SET clicks = clicks + 1 WHERE id = $id");
我没有收到任何错误,但数据库也没有更新。
最佳答案
我建议你这样做:
$(document).ready(function(){
$('a.track').click(function(e) {
e.preventDefault();
$.post('http://mysupersite.com/sys/tracker.php', {id:this.id}, function(){
window.location.href = e.target.getAttribute('href');
});
});
});
让您的链接从您的 $.post()
的成功回调导航。
这个问题在我看来是当你点击 anchor 时它只是导航到 href
提供的页面,所以这可能是 ajax 没有被调用。
关于php - 使用 php 和 js 的简单点击计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24886045/