我希望在php文件中单击链接时增加数据库中的count字段。 所以,我已经将以下jquery部分添加到我的.php文件中。但是,它仍然不起作用。请帮忙!
<body>
<a href="http://www.google.com" id="click">click here</a>
<script>
$(function ()
{
$('#click').click(function()
{
var request = $.ajax(
{
type: "POST",
url: "code.php"
});
});
}
</script>
</body>
code.php:
<?php
$conn=mysqli_connect("localhost","root","","sample");
mysqli_query($conn,"UPDATE e set count=(count+1) WHERE sid='1'");
mysqli_close($connection);
?>
答案 0 :(得分:1)
你在代码中犯了几个错误。
<强>更新强>
您可以使用data
从ajax发送SID输入类型文本,然后使用php
获取$sid = $_POST['sid']
文件中的值。
<body>
<a href="http://www.google.com" id="click">click here</a>
<input type="text" value="" name="sid" id="sid">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(e){
$('#click').click(function(event)
{
var sidvalue = $("#sid").val(); /*from here you get value of your sid input box*/
event.preventDefault();
var request = $.ajax(
{
type: "POST",
url: "code.php",
data: 'sid='+sidvalue ,
success: function() {
window.location.href = 'https://www.google.com/';
}
});
});
});
</script>
在ajax成功回复之后,您可以重定向到您想要的位置。
<强> Code.php 强>
<?php
$conn=mysqli_connect("localhost","root","","sample");
$sid = $_POST['sid']; // use this variable at anywhere you want.
mysqli_query($conn,"UPDATE e set count=(count+1) WHERE sid='1'");
mysqli_close($conn);
?>
在code.php
的{{1}}中,您应使用mysqli_close
而不是$conn
。
使用此代码。它可能对你有帮助。我刚刚测试了localhost中的所有内容。这是完美的。
答案 1 :(得分:0)
在调用click事件时使用preventDefault()
。检查jquery:
<body>
<a href="http://www.google.com" id="click">click here</a>
<script>
$(function ()
{
$('#click').click(function(e)
{
e.preventDefault();
var request = $.ajax(
{
type: "POST",
url: "code.php"
});
});
}
</script>
</body>
答案 2 :(得分:-3)
在ajax成功时重定向您的链接。像这样 -
<body>
<a href="javascript:;" id="click">click here</a>
<script>
$(function ()
{
$('#click').click(function()
{
var request = $.ajax(
{
type: "POST",
url: "code.php",
success: function(response){
window.location="http://www.google.com";
}
});
});
}
</script>