Ali*_*ami 5 javascript php mysql ajax
我这里有一个按钮:
<button type="button" class="btn btn-primary">add me</button>
Run Code Online (Sandbox Code Playgroud)
我尝试使用AJAX;在我的数据库中,我有一个sp_status
(在我的数据库中$UserData
是一个数组)。我想将sp_status
数据库中 id 值$UserData['sp_id']
从 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>
Run Code Online (Sandbox Code Playgroud)
该$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);
}
Run Code Online (Sandbox Code Playgroud)
我面临两个主要问题。首先,当我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>
Run Code Online (Sandbox Code Playgroud)
奇怪的是,弹出警报不再显示。有什么想法吗?
是的,你一定会犯错误:
第一个是“$UserData['sp_id']”,您在 Javascript 代码中调用它,不清楚这个变量的含义或它来自哪里,如果它是 Html 元素的值,那么它应该是:
data: {uid: $('#sp_id').val();},
Run Code Online (Sandbox Code Playgroud)
如果它是一个 Php 变量,它将是:
data: {uid: <?php $UserData['sp_id']; ?>},
Run Code Online (Sandbox Code Playgroud)
下一个错误出现在 Php 服务器代码中:
$query = mysql("UPDATE `signup_participant` SET sp_status = 0 WHERE sp_id = ".$_POST['uid']));
$results = mysql_fetch_assoc($query);
Run Code Online (Sandbox Code Playgroud)
这两个命令是分开的,第一个命令用于更新数据库,第二个命令用于显示数据库结果,它们必须如下所示:
$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);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1622 次 |
最近记录: |