首页 > 解决方案 > 使用 ajax 更新数据库值

问题描述

每次发生 complete() 时,我都会尝试更新数据库值。以下代码位于名为“user.php”的文件中,并且 $u 在文件的其他位置全局定义。运行 complete() 时,值 pT 根本不会更新。提前致谢。

<?php
    if (isset($_POST['pT'])){
        $pT = $_POST['pT'];

        $sql = "UPDATE progress SET progressbar='$pT' WHERE username='$u'";
        $query = mysqli_query($conn, $sql);

        exit();
    }
?>

var pT = 0;

function complete(){

    pT = pT + 25;

    $.ajax({
        url: 'user.php',
        type: 'POST',
        data: {'pT': pT},
        success: function() {}
    });

}

标签: javascriptphpmysqlajax

解决方案


  1. 拆分文件

    user.php
    _______
    <?php
    if (isset($_POST['pT'])){
        $pT = $_POST['pT'];
    
        $sql = "UPDATE progress SET progressbar='$pT' WHERE username='$u'";
        $query = mysqli_query($conn, $sql);
    
        exit();
    }
    ?>
    

  1. 然后确保您的 javascript/jquery ajax 没有格式错误

    somewherelse.html
    ____________
    var pT = 0;
    
    function complete(){
    
      pT = pT + 25;
    
      $.ajax({
        url: 'user.php',
        type: 'POST',
        data: 'pT='+ pT,
        success: function() {
            alert('done');
        }
      });
    
    }
    

推荐阅读