如何在php中单击链接时使用jquery更新数据库中的值

时间:2017-06-26 06:45:28

标签: javascript php jquery

我希望在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);

 ?>

3 个答案:

答案 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>