簡體   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