0

使用 ajax/jquery 从 mysql 数据库中删除记录时遇到问题。我遇到的问题是它没有从数据库中删除,而是从列表中删除。我在这里做错了什么?

这是我的代码:

jQuery(document).ready(function(){
  $(".deleteitem").click(function(){

    var parent = $(this).closest('li');
    var id = parent.attr('id');

    $.ajax({
      type: "POST",
      data: "id=" +id,
      URL: "delete.php",
      success: function(msg){
        $('#'+id).remove();
      }
    });
  });
});

我的php文件delete.php:

$con=mysqli_connect("localhost","user","pass","db");
// Check connection
if (mysqli_connect_errno())
{ echo "Failed to connect to MySQL: " . mysqli_connect_error(); }

$id = $_POST['id'];

if (isset($id)) {
  $query = "DELETE FROM img_slider WHERE id = '$id'";
  mysqli_query($query) or die('Error, insert query failed');
}

HTML 标记:

<li id='".$row['id']."'>
<a href='#' class='deleteitem'><img src='../img/delete.png'></a>
</li>
4

1 回答 1

2

首先测试以确保调用具有有效 id 的删除文件有效。下面的javascript应该可以正常工作。

<script type="text/javascript">
<!--
$(function() {
  $('.deleteitem').click(function(e) {
    e.preventDefault();
    var id = $(this).parent('li').attr('id');
    $.get('delete.php',{ id: id}).done(function(data) {
      if(data=='Error, insert query failed') {
          // dont delete from list
          alert('Failed to delete '+id);
      } else {
          //delete from list
          $('#'+id).remove();
          alert('Deleted '+id);
      }
    });
  });
});
//-->
</script>

编辑:更新了脚本以协助父 ID 处理。

你能说出错误来自哪里吗?大多数现代浏览器应该让您了解错误发生在哪一行或哪一部分。

上面的脚本应该替换你所有的 javascript。

于 2013-07-03T01:24:02.577 回答