微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 单击按钮时更新数据库

我这里有一个按钮:

<button type="button" class="btn btn-primary">add me</button>

我试过用AJAX;在我的数据库中,我有一个sp_status(在我的$UserData中是一个数组).我想将id为$UserData [‘sp_id’]的数据库中的用户sp_status从5更改为0.
以下是我尝试使用它执行此操作的代码

<script>
    $(document).ready(function(){
    $(".btn").click(function(){
        alert("PROBLEM IS HERE!");  
        $.ajax({
        url: "update.PHP",
        type: "POST",
        data: {uid: $UserData['sp_id']}, //this sends the user-id to PHP as a post variable, in PHP it can be accessed as $_POST['uid']
        success: function(data){
            data = JSON.parse(data);
        }
    });
});
}); 
</script>

$UserData数组具有sp_id作为用户的标识符.
在同一文件夹中的update.PHP里面我写了这段代码

<?PHP
if(isset($_POST['uid'])){
    $query = MysqL("UPDATE `signup_participant` SET sp_status = 0 WHERE sp_id = ".$_POST['uid']));
    $results = MysqL_fetch_assoc($query);
    echo json_encode($results);
}

我面临两个主要问题.首先,当我移动警报时(“问题就在这里!”);向下一行,然后单击,没有任何反应.
一个问题是关于update.PHP.我复制并粘贴UPDATEsignup_participantSET sp_status = 0 WHERE sp_id = 10(静态值为10)并且在PHPMyadmin的控制台中一切正常.我在堆栈上阅读了很多问题,但没有人帮忙.
谁能解决这个问题?
编辑:
正如朋友所说,我将我的代码更改为此(AJAX部分):

<script>
    $(document).ready(function(){

    $(".btn").click(function(){
        alert('Hello');
        $.ajax({
        url: "update.PHP",
        type: "POST",
        data: {uid: "<?PHP echo $UserData['sp_id'];?>"}  
        success: function(data){
        data = JSON.parse(data);
        }
        });
    });
});
</script>

奇怪的是,弹出警报不再显示.有什么想法吗?

解决方法:

是的,你必须犯错误

一个是你在Javascript代码调用的“$UserData [‘sp_id’]”,你不清楚这个变量是什么意思或它来自哪里,如果它是一个Html元素的值那么它应该是:

data: {uid: $('#sp_id').val();},

如果它是一个PHP变量,它将是:

data: {uid: <?PHP $UserData['sp_id']; ?>},

一个错误是在PHP服务器代码中:

$query = MysqL("UPDATE `signup_participant` SET sp_status = 0 WHERE sp_id = ".$_POST['uid']));
$results = MysqL_fetch_assoc($query);

这两个命令是分开的,第一个用于更新数据库,第二个用于显示结果,它们必须如下:

$query = "UPDATE `signup_participant` SET sp_status = 0 WHERE sp_id = ".$_POST['uid'];
MysqL_query($query);

$query   = "SELECT * from `signup_participant` WHERE sp_id = ".$_POST['uid'];
$select  = MysqL_query($query);
$results = MysqL_fetch_assoc($select);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐