我在从 javascript 发送 id 并将其发送到 php 以删除所选行时遇到问题。看来
我在这里很好,因为它在每一行打印一个删除按钮,但不幸的是,每次我单击删除按钮时,它都没有删除该行。
我的javascript代码是
$(document).ready(function(){
function fetch_product_data()
{
$.ajax({
url:"fetch.php",
method:"POST",
dataType:"json",
success:function(data)
{
for(var count=0; count<data.length; count++)
{
var html_data = '<tr><td><button type="button" name="delete" class="btn btn-danger btn-xs delete" data-pk="'+data[count].id+'">Delete</button></td>';
html_data += '<td data-name="productArea" class="productArea" data-type="text" data-pk="'+data[count].id+'">'+data[count].productArea+'</td>';
html_data += '<td data-name="productLongName" class="productLongName" data-type="text" data-pk="'+data[count].id+'">'+data[count].productLongName+'</td>';
html_data += '<td data-name="productShortName" class="productShortName" data-type="text" data-pk="'+data[count].id+'">'+data[count].productShortName+'</td>';
html_data += '<td data-name="documentName" class="documentName" data-type="text" data-pk="'+data[count].id+'">'+data[count].documentName+'</td>';
html_data += '<td data-name="docID" class="docID" data-type="text" data-pk="'+data[count].id+'">'+data[count].docID+'</td>';
html_data += '<td data-name="author" class="author" data-type="text" data-pk="'+data[count].id+'">'+data[count].author+'</td>';
html_data += '<td data-name="supportedFormat" class="supportedFormat" data-type="checklist" data-pk="'+data[count].id+'">'+data[count].supportedFormat+'</td>';
html_data += '<td data-name="whereToFind" class="whereToFind" data-type="checklist" data-pk="'+data[count].id+'">'+data[count].whereToFind+'</td>';
$('#product_data').append(html_data);
}
}
})
}
fetch_product_data();
删除js。它既没有删除也没有更新。我不确定我是否正确传递了 ID,这就是它最终没有删除的原因。
$(document).on('click', '.delete', function(){
var id = $(this).attr("id");
if(confirm("Are you sure you want to remove this?"))
{
$.ajax({
url:"delete.php",
method:"POST",
data:{id:id},
success:function(data){
$('#alert_message').html('<div class="alert alert-success">'+data+'</div>');
$('#product_data').destroy();
fetch_data();
}
});
setInterval(function(){
$('#alert_message').html('');
}, 5000);
}
});
删除功能我也不确定。 删除.php
<?php
$connect = mysqli_connect("localhost", "root", "", "infodev");
if(isset($_POST["pk"]))
{
$query = "DELETE FROM product WHERE id = '".$_POST["pk"]."'";
if(mysqli_query($connect, $query))
{
echo 'Data Deleted';
}
}
?>
最佳答案
您正在从 Ajax 调用中发送 id
并在您的 php 函数中检索 $_POST["pk"]
。那是一个错误。你应该这样做:
<?php
$connect = mysqli_connect("localhost", "root", "", "infodev");
if(isset($_POST["id"]))
{
$query = "DELETE FROM product WHERE id = '".$_POST["id"]."'";
if(mysqli_query($connect, $query))
{
echo 'Data Deleted';
}
}
?>
关于javascript - 如何使用javascript和php mysql删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48659185/