Search returns previously deleted rows

Search returns previously deleted rows

nospipinospipi Posts: 5Questions: 2Answers: 0
edited March 2021 in Free community support

Im using an onclick to delete selected rows from sql database and update the datatable simultaneously by sending an ajax to the php/server.
Responsible for deleting the record is some backend php.
So far so good.
However,when i try to search,it returns back the rows i have deleted,what should i do ?

$(document).on('click', '#delete', function() {
        var id = $(this).parent().find("#id").text();
        var name = $(this).parent().find("#name").text();
        
        if(confirm("Are you sure you want to delete record " + id + " with name " + name + " ?")){
        
            $.ajax({
                method: "POST",
                url: "http://localhost/indexDB/actions.php",
                data: {
                    id: id,
                    deletename: name
                }
            })
            .done(function(msg) {
                alert(msg);                 
                
$("#dtVerticalScrollExample tbody").empty();       //EMPTY THE DB WINDOW 
    
$.ajax({                                                                 //POPULATE DB WINDOW AGAIN
        url: 'http://localhost/indexDB/ajaxfile.php',
        type: 'get',
        dataType: 'JSON',
        success: function(response){
            var len = response.length;
            for(var i=0; i<len; i++){
                var id = response[i].id;
                var name = response[i].name;
                var contents = response[i].contents;
                var date = response[i].date;
                var ajaxbutton = response[i].button;
                
                var button = document.createElement("i");
                button.className = "far fa-trash-alt trashdb";

                var tr_str = "<tr>" +
                    "<td id=id>" + id + "</td>" +
                    "<td id=name>" + name + "</td>" +
                    "<td id=date>" + date + "</td>" +
                    "<td id=buttonrow>" + button.outerHTML + "</tr>";

                $("#dtVerticalScrollExample tbody").append(tr_str);
            }

        }
    });
  });
    }else{
        alert("Delete cancelled !")
    }
        

    });   //DELETE RECORDS FROM DB

Answers

  • kthorngrenkthorngren Posts: 21,327Questions: 26Answers: 4,949

    You aren't using Datatables API's to update the table. Datatables doesn't know about the updates so it doesn't update its data cache. See this FAQ.

    Kevin

This discussion has been closed.