通过id删除带有ajax的记录

时间:2013-07-03 01:15:16

标签: php jquery ajax

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

1 个答案:

答案 0 :(得分: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。