繁体   English   中英

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

[英]How to update MySQL database row with a click on link?

我所拥有的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 <<位于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 ,并用先前的Score + 1更新mysql值Score。

据我所知,您的网页将显示一个随机用户的数据,因此,当单击“上投票”按钮时,此随机用户的得分将递增。

在这种情况下, 您需要将随机用户的ID发送到PHP脚本 示例:将以下代码复制并粘贴到两个PHP文件中,然后在浏览器中打开“ html和ajax文件”:

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!";
?>

为了测试目的,我在“ update_value.php”中注释了数据库行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM