Обновление статуса с использованием метода AJAX - PullRequest
0 голосов
/ 04 мая 2019

Я бы хотел обновить статус, используя метод AJAX в php.В кодах php я добавил команду select, чтобы изменить статус на завершенный, и значение передается в файле 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();
}

PHP Code : I need to update the status from assigned to complete, plz help me in this regard.

while ($row = mysqli_fetch_array($res)) {
    echo "<tr>";
        echo "<td>".$row['project'];"</td>";
        echo "<td>".$row['date'];"</td>";
        echo "<td>".$row['tl_name'];"</td>";
        echo "<td>".$row['subject'];"</td>";
        echo "<td>".$row['details'];"</td>";
        echo "<td>  
                <form method='POST' action=''>
                <select name='status' id='status'>
                    <option value='Assigned'>Assigned</option>
                    <option value='Completed'>Completed</option>
                </select>
                </form>
            </td>";
        echo "<td><input type='submit' id='button' name='button' onsubmit='updatestatus(this.value)' value='UPDATE'></td>"; 
    echo "</tr>";   
    }
In the update.php am using the below code:


    $status = $_POST['status'];
   $id = $_GET['id'];
   $sel = "update workassign set status ='$status' where id ='$id'";
   $res = mysqli_query($conn,$sel);

Мне нужно обновить статус с назначенного на полный, пожалуйста, помогите мне в этом отношении.

1 Ответ

0 голосов
/ 04 мая 2019

Вы делаете много вещей неправильно.Ваш <input type=submit> не нужен, и вы передаете неправильное значение методу updatestatus.Вы можете сделать это просто с помощью button.А в вашем 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'>

ajax

<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>

В вашем файле update.php получите значения следующим образом

$status = $_GET['status'];
$id = $_GET['id'];
// perform your updation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...