Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用AJAX方法更新状态_Php_Mysql_Ajax - Fatal编程技术网

Php 使用AJAX方法更新状态

Php 使用AJAX方法更新状态,php,mysql,ajax,Php,Mysql,Ajax,我想在php中使用AJAX方法更新状态。 在php代码中,我添加了select命令,将状态更改为completed,并在update.php文件中传递值。但没有发生任何变化 AJAX Code: <script> function updatestatus(status) { if(str == '') { document.getElementById("res").innerHTML = ""; return; } if (

我想在php中使用AJAX方法更新状态。 在php代码中,我添加了select命令,将状态更改为completed,并在update.php文件中传递值。但没有发生任何变化

AJAX Code:
<script>
function updatestatus(status) {
    if(str == '') {
        document.getElementById("res").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
        } else { // code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
        if (this.readyState==4 && this.status==200) {
            document.getElementById("res").innerHTML=this.responseText;
        }
    }
    xmlhttp.open("GET","update.php?id=$row[id]"+str,true);
    xmlhttp.send();
}
AJAX代码:
函数updatestatus(状态){
如果(str=''){
document.getElementById(“res”).innerHTML=“”;
返回;
}
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
document.getElementById(“res”).innerHTML=this.responseText;
}
}
open(“GET”、“update.php?id=$row[id]”+str,true);
xmlhttp.send();
}

PHP代码:我需要更新从分配到完成的状态,请在这方面帮助我。
while($row=mysqli\u fetch\u数组($res)){
回声“;
回显“$row['project']”;
回显“$row['date'];”;
回显“$row['tl_name'];”;
回显“$row['subject']”;
回显“$row['details']”;
回声“
分配
完整的
";
回声“;
回声“;
}
在update.php中,使用以下代码:
$status=$_POST['status'];
$id=$_GET['id'];
$sel=“更新工作分配集状态='$status',其中id='$id';
$res=mysqli\u查询($conn,$sel);

我需要更新从分配到完成的状态,请在这方面帮助我

你做了很多错事。您的
是不必要的,并且您将错误的值传递给
updatestatus
方法。您只需使用
按钮
即可完成此操作。在ajax中没有声明变量
str
。在update.php中,您试图检索未发送的变量。 下面是一个更简单的代码

<form>
    <select name='status' id='status'>
        <option value='Assigned'>Assigned</option>
        <option value='Completed'>Completed</option>
    </select>
</form>
<input type='button' id='button' name='button' onclick='updateStatus()' value='UPDATE'>
<form>
    <select name='status' id='status'>
        <option value='Assigned'>Assigned</option>
        <option value='Completed'>Completed</option>
    </select>
</form>
<input type='button' id='button' name='button' onclick='updateStatus()' value='UPDATE'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script>
    function updateStatus() {
        var status = $('#status').val();
        $.ajax({ 
            url: "update.php?id=<?php echo $row['id'] ?>&status="+status,
            success: function(res) { 
                  console.log(res);
            }
        });
    }
</script>
$status = $_GET['status'];
$id = $_GET['id'];
// perform your updation