更新数据库上的一个按钮,当点击
我这里有一个按钮:更新数据库上的一个按钮,当点击
<button type="button" class="btn btn-primary">add me</button>
我尝试使用AJAX;在我的数据库中,我有一个sp_status
(在我的$UserData
这是一个数组)。我想从5值与$UserData['sp_id']
ID更改用户sp_status
数据库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);
}
有我面对两个主要的问题。首先,当我将alert("PROBLEM IS HERE!");
向下移动一行时,单击,没有任何反应。
另一个问题是关于update.php
。我复制并粘贴UPDATE
signup_participant SET 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>
奇怪的是不再显示弹出警报。有什么想法吗?
是的,你必须错误:
第一个是“$的UserData [‘sp_id的’]”你在JavaScript代码调用,目前还不清楚是什么你从这个变量的意思或者做到了从何而来,如果它是一个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);
我不明白。我应该在哪里添加$('#sp_id')。val(); ? –
它应该不是$ UserData ['sp_id'],但正如我所说,它取决于该值或变量的位置,我举了一个例子,如果它是一个保存在Html元素中的值,那么你应该使用它,但如果不是那么你必须使用另一个,所以如果你可以在你的问题中附加整个代码,它会更容易知道它来自哪里。 –
这是一个从数据库中读取并存储在UserData –
我很惊讶这在所有工作因为按钮类不匹配事件处理程序'class =“btn btn-primary”'''$(“。button”)。click(function()' – NewToJS
如何解决这个问题? –
你可以改变'$(“。button”)。click'到'$(“.btn”)。click'或者添加'button'到class属性'class =“按钮btn btn-primary”'I除了这是我注意到的第一个错误之外没有看过其他任何东西。 – NewToJS