如何通过点击链接更新MySQL数据库行?

时间:2016-11-04 14:33:07

标签: javascript php jquery mysql ajax

我有什么 一个包含许多行的MySQL数据库。它包含ID,名称,分数和其他一些列。

显示此数据库中RANDOM项目的网站。它将在我的页面上显示所有相应的数据。

我想要什么 我想要一个访问我网站的人按下一个按钮,这会使我的分数增加+ 1。

我的代码

update_value.php

<?php
    include ('database_conn.php');
    $rowID = $row['ID'];
    $sql2 = "UPDATE database SET Score = Score + 1 WHERE ID = '$rowID'";
    $conn->query($sql2);
?>

scripts.js &lt;&lt;在js / scripts.js文件夹中

$("#vote-up-q").click(function() {
        $.ajax({
                type: "POST",
                url: "update_value.php"
            })
            location.reload();
    });

menu.php

<span class="circle-thin-yo circle-down" id="vote-down-q">
 <a href="javascript:void(0)" title="vote down">
  <i class="fa fa-angle-down"></i>
 </a>
</span>

database_conn.php 文件包含这样的$ conn:

$conn = new mysqli($servername, $username, $password, $dbname);

简单地说:有人可以点击 menu.php 中显示的 div#vote-up-q ,并更新mysql值Score with上一个分数+1。

1 个答案:

答案 0 :(得分:2)

如果我理解得很好,您的网页将显示随机用户的数据,因此,当点击上传按钮时,此随机用户会将其分数增加。

如果是这种情况,您需要将随机用户的ID发送到PHP脚本。示例:在两个PHP文件中复制粘贴下一个代码并打开&#34; html和ajax文件&#34;在浏览器中:

html和ajax文件

<?php
$user_id = 28; // ◄■■ RANDOM USER FROM DATABASE.
?>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type = "text/javascript">
function my_button ( user_id ) // ◄■■ RANDOM USER ID.
{ $.ajax( { type    : "POST",
            data    : { "my_id" : user_id }, // ◄■■ RANDOM USER ID.
            url     : "update_value.php",
            success : function ( data )
                      { alert( data );
                      },
            error   : function ( xhr )
                      { alert( "error" );
                      }
        } );
}
    </script>
  </head>
  <body>
    <button onclick="my_button('<?php echo $user_id;?>')"> <!-- ◄■■ RANDOM USER ID -->
            Upvote me!</button>
  </body>
</html>

<强> update_value.php

<?php
    //include ('database_conn.php');
    $rowID = $_POST["my_id"]; // ◄■■ PARAMETER FROM AJAX.
    //$sql2 = "UPDATE database SET Score = Score + 1 WHERE ID = '$rowID'";
    //$conn->query($sql2);
    echo "User $rowID upvoted!";
?>

我评论了&#34; update_value.php&#34;中的数据库行。用于测试目的。