簡體   English   中英

如何使用按鈕的onclick事件更新MySQL數據庫?

[英]How do I update MySQL database using a button's onclick event?

好吧我知道這不能用PHP完成,我認為它是通過使用Ajax / Javascript來完成的...不幸的是我對這些很低,我需要你的幫助..

所以我根據玩家為用戶選擇的球隊所玩的球員做了一個<select> 它工作正常,沒有問題。

我需要的是一個按鈕,它將為用戶選擇的播放器添加1個XP。

<?php
    $query = mysql_query("SELECT `team` FROM `users` WHERE `username`='". $_SESSION['username'] ."'"); 
    $row2 = mysql_fetch_assoc($query);

    $result = mysql_query("SELECT `name` FROM `players` WHERE `team`='". $row2['team'] ."'");

    $dropdown = "<select name='players'>";
    while($row = mysql_fetch_assoc($result)) {
        $dropdown .= "\r\n<option value='{$row['name']}'>{$row['name']}</option>";
    }

    $dropdown .= "\r\n</select>";
    echo $dropdown;
?>

    <button onclick="">Support</button>

就我而言,更新看起來像這樣:

$oldxp = mysql_query("SELECT `xp` FROM `players` WHERE `name`="the option the user selected,got stuck here");
mysql_query("UPDATE `players`SET `xp`=''". $oldxp ."' + 1' WHERE `name` = "the option the user selected, got stuck here");

所以我需要的是如何獲得用戶選擇的內容並將其替換為“用戶選擇的選項,卡在這里”以及如何在Java中執行此操作,因為我無法將該PHP代碼放入onclick事件中因為它不起作用?

非常感謝。

更改你的按鈕html
- 添加onclick功能
HTML:

<button onclick="saveData()">Support</button>

單擊按鈕,向服務器發送ajax請求並運行查詢。

jQuery的:

function saveData(){
      $.ajax({
        type: "POST",
        url: "your_php_page.php",
        data: { name: $("select[name='players']").val()},
        success:function( msg ) {
         alert( "Data Saved: " + msg );
        }
       });
  }

PHP:

your_php_page.php:

   $sql = "UPDATE `players`SET `xp`= `xp`+ 1 WHERE `name` = '".$_REQUEST['name']."'";
   if(mysql_query($sql)){
     return "success!";
   }
   else {
    return "failed!";
  }

你不應該使用mysql_*因為它已被棄用。 你應該使用pdomysqli_*

jquery ajax api doc

首先,Java和Javascript是完全不同的語言。 除了名稱和它們都是編程語言之外,它們共享的很少。

您需要使用Ajax來執行此操作,因此您需要在服務器上使用AJAX文件,AJAX可以請求運行您想要的查詢。 然后您將使用AJAX請求此文件添加XP,我建議您使用jQuery( http://jquery.com/ )進行AJAX調用,因為它比純JavaScript更容易使用。

將jQuery包含到您的站點后,您可以使用以下命令進行ajax調用:

$.ajax({
    type: 'post',
    url: 'http://domain.com/myscript.php',
    success: function(data){
        // callback function
    }
});

文檔: https//api.jquery.com/jQuery.ajax/

您可以在函數中包裝ajax調用,然后使用onclick在您想要使用的按鈕上調用該函數。

例如:

<button onclick='javascript:ajaxCall()'>Call AJAX</button>

function ajaxCall(){
    // include code above

    return false; // not always essential, but I usually return false.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM